微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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函数中查阅,以查看与该子组件相关的对象.

原文地址:https://www.jb51.cc/mssql/78508.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐