【问题标题】:SqlAlchemy changes in Model description not applied in DB模型描述中的 SqlAlchemy 更改未在数据库中应用
【发布时间】:2015-03-03 13:18:01
【问题描述】:

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

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

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

【问题讨论】:

    标签: flask sqlalchemy flask-sqlalchemy


    【解决方案1】:

    您可以按照以下方式进行:

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

    您可以在以下位置找到有关 sqlalchemy 迁移的更多详细信息:https://sqlalchemy-migrate.readthedocs.org/en/latest/changeset.html

    【讨论】:

      猜你喜欢
      • 2013-04-15
      • 2020-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-20
      • 1970-01-01
      • 1970-01-01
      • 2016-09-11
      相关资源
      最近更新 更多