Alembic检测到更改但使用--autogenerate生成空迁移

时间:2013-05-29 22:38:02

标签: python mysql migration sqlalchemy alembic

我正在努力让alembic使用--autogenerate标志自动生成迁移。

当我运行alembic -n mydbname --autogenerate -m "my message"时,我会得到类似的内容:

INFO  [alembic.migration] Context impl MySQLImpl.
INFO  [alembic.migration] Will assume non-transactional DDL.
INFO  [alembic.autogenerate] Detected removed table u'some_table'
INFO  [alembic.autogenerate] Detected NULL on column 'table_a.column_a'
INFO  [alembic.autogenerate] Detected added column 'table_b.column_b'
.......

但是当我查看生成的迁移文件时,upgradedowngrade都只是说pass

发生了什么事??

1 个答案:

答案 0 :(得分:0)

您使用的是多数据库迁移吗?如果是这样,他们目前有点儿马车。解决方案是将env.py中的context.configure更改为:

context.configure(
    connection=rec['connection'],
    upgrade_token="%s_upgrades" % name,
    downgrade_token="%s_downgrades" % name,
    target_metadata=target_metadata.get(name)
)

source