【发布时间】:2020-07-14 23:46:19
【问题描述】:
第一次跑步
alembic revision --autogenerate -m "init"
它在我的数据库中生成表。
删除数据库后,删除脚本的版本,并尝试再次运行 alembic。他不再产生任何东西。
我已经尝试再次安装 alembic,但没有任何效果。我已经搜索了很多解决方案,没有一个有效。
我缺少一些配置吗?
【问题讨论】:
标签: python sqlalchemy alembic
第一次跑步
alembic revision --autogenerate -m "init"
它在我的数据库中生成表。
删除数据库后,删除脚本的版本,并尝试再次运行 alembic。他不再产生任何东西。
我已经尝试再次安装 alembic,但没有任何效果。我已经搜索了很多解决方案,没有一个有效。
我缺少一些配置吗?
【问题讨论】:
标签: python sqlalchemy alembic
Alembic “知道”您已经运行了该迁移,然后它不会再次运行它(即使您删除表或重新安装 alembic。
这里发生的过程包括 Alembic 首先检查数据库是否有一个名为
alembic_version的表,如果没有,则创建它。它在此表中查找当前版本(如果有),然后计算从该版本到请求版本的路径,在本例中为head,已知为1975ea83b712。然后它在每个文件中调用upgrade()方法以获取目标修订。 https://alembic.sqlalchemy.org/en/latest/tutorial.html#running-our-first-migration
您需要将您的迁移告诉 alembic downgrade 才能再次运行它。
为此,只需调用:
alembic downgrade -1
然后您可以通过调用再次运行上次迁移:
alembic upgrade head
还有更多信息here。
【讨论】: