我正在努力让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'
.......
但是当我查看生成的迁移文件时,upgrade
和downgrade
都只是说pass
。
发生了什么事??
答案 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)