我应该如何从这里开始,我有点迷茫。
我有比旧数据库更新的数据库模式。
我看过Arnold包,里面有arnold up
和arnold down
两种方法。有迁移文件,您可以在其中添加所有数据库查询。但我仍然可以看到这些变化,我可以在 up
中添加 create table
或 alter table
以及 arnold down
我可以添加 drop table
或 alter table
。但是我的迁移将只针对该数据库。
我想了解数据库迁移应该包含哪些内容。它有什么作用。如果有人向我解释 数据库迁移
并将我推向 peewee、psql 数据库迁移的正确方向,我将不胜感激
最佳答案
我们使用一个工具peewee-db-evolve我认为你会发现它很有用。试试这个:
sudo pip install peewee-db-evolve
- 将
import peeweedbevolve
添加到models.py
文件的顶部,或在定义模型之前导入的任何位置。 - 打开您的 shell 并在您的 peewee 数据库对象上运行
db.evolve()
。
对于 (3),在工作中我们有一个如下所示的脚本 evolve.py
:
import peeweedbevolve
from config import db
if __name__=='__main__': db.evolve()
只是为了让它变得简单。
它将查看模型和您现有的架构,并为您计算所有 ALTER TABLE
语句。 (无需手动将迁移编写为 w/arnold 或 peewee 的内置版本。)
它看起来像这样:
希望这对您有所帮助!
关于python - 我正在使用 Peewee,我需要为我的数据库创建迁移文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37171040/