You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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!")

我希望在包含print语句的行设置断点,请问如何配置VS Code以启动命令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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 10:27:15