MySQL数据库迁移:更改字符串长度

时间:2015-09-12 06:44:57

标签: python mysql alembic

我正在使用SQLAlchemy + alembic来管理我的数据库。我有一个10字符长的字符串字段,后来发现它必须是20.所以我更新了模型定义。

class Foo(db.Model):
    __tablename__ = 'foos'
    id = db.Column(db.Integer, primary_key=True)
    foo_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    name = db.Column(db.String(80))

当我运行alembic revision --autogenerate时,未检测到此情况。现在我确实阅读了文档,并怀疑这可能不受支持。如何优雅地在DB中管理这些更改?

1 个答案:

答案 0 :(得分:2)

您需要启用可选列类型checking。 有关默认选中内容的说明,请参阅this

context.configure(
    # ...
    compare_type = True
)