我想使用flask peewee作为关系数据库(MySQL)的ORM,但我的问题是模型结构的变化……比如为模型添加新属性(这意味着在db中添加列)。我想知道我是否可以在不手动编写SQL的情况下自动执行此操作?
发布于 2014-07-24 01:43:29
看起来Peewee模块确实支持迁移。
http://peewee.readthedocs.org/en/latest/peewee/playhouse.html#schema-migrations
发布于 2016-11-24 03:41:10
我们开发的https://github.com/keredson/peewee-db-evolve供我们公司使用,听起来可能对您有帮助。
db-evolve不是手动编写迁移,而是计算现有模式和您定义的模型之间的差异。然后,它预览并应用非破坏性的SQL命令,以使您的模式符合规则。我们发现它是一种更健壮的模式管理模型。(例如,通过这种方式,在具有不同模式更改的任意分支之间切换是微不足道的,而使用手动编写的迁移几乎是不可能的。)
示例:

可以将其视为Peewee's create_tables()的非破坏性版本。(实际上,我们一直都在使用它,以便在测试中从头开始构建模式。)
发布于 2014-12-14 18:58:13
我已经为Peewee https://github.com/klen/peewee_migrate编写了一个简单的迁移引擎
https://stackoverflow.com/questions/24906683
复制相似问题