SqlAlchemy在模型描述中的更改未在DB中应用

时间:2015-03-03 13:18:02

标签: flask sqlalchemy flask-sqlalchemy

我目前正在使用Flask / SqlAlchemy开发服务器。当ORM模型不作为数据库中的表存在时,它会由SqlAlchemy默认创建。

但是,如果更改了ORM类,例如添加了一个额外的列,则这些更改不会保存在数据库中。因此,每次查询时都会丢失额外的列。每次我使用的模型发生变化时,我都必须手动调整我的数据库。

在开发过程中是否有更好的方法在模型中应用更改?我几乎认为手动MySql操作是最好的解决方案。

1 个答案:

答案 0 :(得分:1)

您可以按以下方式继续:

new_column = Column('new_column', String, default='some_default_value')
new_column.create(my_table, populate_default=True)

您可以在https://sqlalchemy-migrate.readthedocs.org/en/latest/changeset.html

中找到有关sqlalchemy迁移的更多详细信息