sqlalchemy – Alembic:自动生成迁移时如何忽略其他产品的数据库表

前端之家收集整理的这篇文章主要介绍了sqlalchemy – Alembic:自动生成迁移时如何忽略其他产品的数据库表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Alembic来管理数据库的迁移.多个 Python包使用相同的数据库,每个包都有自己的迁移路径.

生成自动迁移时,如何告诉Alembic忽略其他包中的表?例如,当我跑:

alembic -c development.ini revision --autogenerate -m "Initial migration"

我的迁移Python文件包含其他包的删除表(不在当前的Alembic env.py中):

def upgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.drop_table('table_from_another_package`)

我可以手动编辑迁移文件删除drop_table()和create_table()条目,但这是容易出错的工作.我宁愿避免在第一时间生成它们.

解决方法

完全控制自动生成的对象是 here.

如果您尝试以这样的方式运行autogenerate,它一次只考虑单个MetaData对象,您可能希望在env.py文件添加利用“X” argument自定义.使用此参数来接收哪个子组件想要继续工作,并在include_object函数中查阅,以查看与该子组件相关的对象.

猜你在找的MsSQL相关文章