6

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

4

3 回答 3

6

看起来 Peewee 模块确实支持迁移。

http://peewee.readthedocs.org/en/latest/peewee/playhouse.html#schema-migrations

于 2014-07-23T17:43:29.190 回答
6

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

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

例子:

在此处输入图像描述

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

于 2016-11-23T19:41:09.703 回答
5

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

于 2014-12-14T10:58:13.147 回答