烧瓶 - 小便能做迁移吗?

时间:2014-07-23 09:24:22

标签: python flask flask-peewee

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

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:5)

我为Peewee https://github.com/klen/peewee_migrate

写了一个简单的迁移引擎

答案 2 :(得分:4)

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

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

示例:

enter image description here

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