1

我正在尝试使用--autogenerate标志让 alembic 工作自动生成迁移。

当我跑步时,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'
.......

但是当我查看生成的迁移文件时,upgrade两者downgrade都简单地说pass.

这是怎么回事?!

4

1 回答 1

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)
)

来源

于 2013-07-06T01:34:33.327 回答