【问题标题】:Can flask-peewee do migration?flask-peewee 可以迁移吗?
【发布时间】:2014-09-14 09:54:51
【问题描述】:

我想使用flask peewee 作为关系数据库(MySQL)的ORM,但我的问题是模型结构的变化......比如为模型添加新属性(这意味着数据库中的列)。 我想知道我是否可以自动执行此操作而无需手动编写 SQL?

【问题讨论】:

    标签: python flask flask-peewee


    【解决方案1】:

    【讨论】:

    • 取决于您希望从迁移工具中获得什么。一些迁移工具会为您处理数据版本控制,并自动应用正确的迁移来更新数据库以匹配当前模式。内置 peewee 迁移模块不这样做。它只是根据您的指示添加或删除列。
    【解决方案2】:

    我为 Peewee https://github.com/klen/peewee_migrate写了一个简单的迁移引擎

    【讨论】:

    • 谢谢,Kirill,真的很棒!希望您能尽快实现版本控制功能。
    【解决方案3】:

    我们开发了https://github.com/keredson/peewee-db-evolve 供我们公司使用,听起来可能对您有所帮助。

    db-evolve 不是手动编写迁移,而是计算现有架构和您定义的模型之间的差异。然后它会预览并应用非破坏性 SQL 命令以使您的架构符合要求。我们发现它是一种更加健壮的模式管理模型。 (例如,以这种方式在具有不同架构更改的任意分支之间切换是微不足道的,而手动编写的迁移几乎不可能。)

    例子:

    将其视为 Peewee 的create_tables() 的非破坏性版本。 (事实上​​,我们一直都在使用它,在测试中从头开始构建模式。)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-28
    • 2013-04-27
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 2018-12-07
    相关资源
    最近更新 更多