如何在VS Code中调试Alembic迁移并配置启动命令?
在VS Code中调试Alembic迁移脚本的配置方法
假设我有如下迁移脚本:
# revision identifiers, used by Alembic. revision = 'b5c9e0aac59b' down_revision = '4658d3e26bae' branch_labels = None depends_on = None def upgrade(): print("hello world!")我希望在包含
alembic -n sandbox upgrade b5c9e0aac59b(或python -m alembic -n sandbox upgrade b5c9e0aac59b)并使用其调试功能?
配置步骤(通过VS Code的launch.json)
1. 创建调试配置文件
打开VS Code的「运行和调试」面板(快捷键Ctrl+Shift+D),点击「创建launch.json文件」,选择「Python」环境后,替换默认内容为以下配置二选一:
配置一:使用python -m alembic方式(推荐,无需指定可执行文件路径)
{ "version": "0.2.0", "configurations": [ { "name": "Alembic 升级调试", "type": "python", "request": "launch", "module": "alembic", "args": [ "-n", "sandbox", "upgrade", "b5c9e0aac59b" ], "console": "integratedTerminal", "justMyCode": false } ] }
配置二:直接调用alembic可执行文件
如果你的环境中alembic是全局可执行文件,或者需要指定虚拟环境内的可执行路径,用这个配置:
{ "version": "0.2.0", "configurations": [ { "name": "Alembic 升级调试", "type": "python", "request": "launch", "program": "${env:VIRTUAL_ENV}/bin/alembic", // Windows虚拟环境下替换为"${env:VIRTUAL_ENV}/Scripts/alembic.exe" "args": [ "-n", "sandbox", "upgrade", "b5c9e0aac59b" ], "console": "integratedTerminal", "justMyCode": false } ] }
2. 设置断点并启动调试
- 在迁移脚本的
print("hello world!")行左侧点击,设置红色断点标记。 - 回到「运行和调试」面板,选择刚才创建的「Alembic 升级调试」配置,点击绿色启动按钮。
- 调试器会自动触发断点,此时可以进行查看变量、单步执行等调试操作。
关键注意事项
justMyCode必须设为false:默认VS Code调试器只会进入你标记为"自己的代码"的文件,关闭这个选项才能让调试器穿透Alembic框架代码,停在你的迁移脚本断点上。- 确认Python环境:确保VS Code选中的解释器是你项目使用的虚拟环境(可在左下角状态栏切换)。
- 路径准确性:使用配置二时,要保证
program字段的alembic可执行文件路径正确,虚拟环境下通常在bin(Linux/macOS)或Scripts(Windows)目录下。
内容的提问来源于stack exchange,提问作者Be Chiller Too
相关产品推荐
相关产品推荐

