当我尝试
时alembic upgrade head
Alembic运行上一个迁移脚本,显然引发了错误,因为我的架构发生了变化。
在我的数据库中,我将version_num
设置为48957fdfe8d5
。运行后
alembic revision -m '<my message>'
Alembic创建了新的脚本文件 - 我想要运行的文件 - 在顶部
revision = '28cc06993b73'
down_revision = '4d5f9ba76c5e'
换句话说,一切看起来都不错。那么为什么在4d5f9ba76c5e
而不是28cc06993b73
中明确运行代码呢?我也试过
alembic upgrade 28cc06993b73
但它仍在4d5f9ba76c5e
中运行代码。这是日志:
$ alembic upgrade 28cc06993b73
INFO [alembic.migration] Context impl MySQLImpl.
INFO [alembic.migration] Will assume non-transactional DDL.
Starting in DEBUG mode
INFO [alembic.migration] Running upgrade 48957fdfe8d5 -> 4d5f9ba76c5e, Breaking up metadata into required and optional
另外,如果我查看了Alembic的历史记录,我看到头部在28cc06993b73
上:
$ alembic history
Starting in DEBUG mode
4d5f9ba76c5e -> 28cc06993b73 (head), creating soft file table
48957fdfe8d5 -> 4d5f9ba76c5e, Breaking up metadata into required and optional
<base> -> 48957fdfe8d5, Init
提前致谢。
答案 0 :(得分:0)
首先你说你的版本号在db中是48957fdfe8d5所以从48957fdfe8d5升级 - &gt;预计4d5f9ba76c5e将根据您的蒸馏历史记录。
你也说&#34; Alembic运行上一个迁移脚本,显然因为我的架构发生了变化而引发错误。&#34;它显示什么错误?您是否手动更改了数据库,以便它反映出28cc06993b73中应该发生的事情?如果是这种情况,那么你可以运行
alembic stamp head
让你的数据库与alembic迁移同步