我正在尝试将模型中的一些功能抽象到 Mixin 中,实际上我不想更改任何表 - 我只是想检查以确保我已正确完成此操作。
如何在不创建修订文件的情况下查看 alembic 检测到的更改?或者是我运行
alembic revision --autogenerate -m "..."
,然后删除文件的唯一选择?
Alembic v1.9.0 (https://alembic.sqlalchemy.org/en/latest/changelog.html#change-1.9.0)引入了一个新的
check
命令:
添加了新的 Alembic 命令 alembic 检查。这将执行广泛要求的功能,即在当前数据库和当前设置为自动生成的元数据之间运行“自动生成”比较,如果两者不匹配,则根据当前自动生成设置返回错误代码。拉取请求由 Nathan Louie 提供。
以我为例
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")