我目前正在使用Flask / SqlAlchemy开发服务器。当ORM模型不作为数据库中的表存在时,它会由SqlAlchemy默认创建。
但是,如果更改了ORM类,例如添加了一个额外的列,则这些更改不会保存在数据库中。因此,每次查询时都会丢失额外的列。每次我使用的模型发生变化时,我都必须手动调整我的数据库。
在开发过程中是否有更好的方法在模型中应用更改?我几乎认为手动MySql操作是最好的解决方案。
答案 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迁移的更多详细信息