如何在不创建修订的情况下检测 alembic 的更改?

问题描述 投票:0回答:2

我正在尝试将模型中的一些功能抽象到 Mixin 中,实际上我不想更改任何表 - 我只是想检查以确保我已正确完成此操作。

如何在不创建修订文件的情况下查看 alembic 检测到的更改?或者是我运行

alembic revision --autogenerate -m "..."
,然后删除文件的唯一选择?

python flask sqlalchemy alembic
2个回答
5
投票

Alembic v1.9.0 (https://alembic.sqlalchemy.org/en/latest/changelog.html#change-1.9.0)引入了一个新的

check
命令:

添加了新的 Alembic 命令 alembic 检查。这将执行广泛要求的功能,即在当前数据库和当前设置为自动生成的元数据之间运行“自动生成”比较,如果两者不匹配,则根据当前自动生成设置返回错误代码。拉取请求由 Nathan Louie 提供。


0
投票

以我为例

def run_migrations():
    alembic_cfg = Config("alembic.ini")
    try:
        command.check(alembic_cfg)
        print("No changes detected.")
        return
    except AutogenerateDiffsDetected as e:
        command.revision(alembic_cfg, "head", autogenerate=True)
        command.upgrade(alembic_cfg, "head")
© www.soinside.com 2019 - 2024. All rights reserved.