gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 01:02:20 31 4
gpt4 key购买 nike

我正在使用 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 .

如果您尝试以一次只考虑单个 MetaData 对象的方式运行自动生成,您可能希望在 env.py 文件中添加自定义,以利用 "X" argument .使用此参数接收您要处理的子组件,并在您的 include_object 中查阅该子组件。函数只查看与该子组件相关的对象。

关于sqlalchemy - Alembic:自动生成迁移时如何忽略其他产品的数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31196631/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com