2016-05-11 5 views
2

Как мне начать здесь, я немного смущен.Я использую Peewee, и мне нужно создать файл миграции для моей базы данных

У меня есть схемы баз данных, которые новее старой базы данных.

Я видел пакет Arnold, где есть два метода: arnold up и arnold down. Существуют файлы миграции, в которых вы можете добавить все ваши запросы к базе данных. Но все же эти изменения я могу видеть, и я могу добавить в up как create table или alter table и в arnold down Могу добавить drop table или alter table. Но моя миграция станет только для этой базы данных.

Я хочу понять, что должно содержать миграцию базы данных. И что он делает. Я буду очень признателен, если кто-нибудь объяснит мне database migration и подтолкнет меня в правильном направлении peewee, переместится база данных psql

ответ

2

Мы используем инструмент peewee-db-evolve, который, я думаю, вы найдете полезным. Попробуйте это:

  1. sudo pip install peewee-db-evolve
  2. Добавить import peeweedbevolve в верхней части файла models.py, или где-нибудь, что импортируется до того, как модели определены.
  3. Откройте свою оболочку и запустите db.evolve() на свой объект базы данных peewee.

Для (3), на работе у нас есть сценарий evolve.py который выглядит следующим образом:

import peeweedbevolve 
from config import db 
if __name__=='__main__': db.evolve() 

Просто, чтобы сделать его легко.

Он будет смотреть на модели и вашу существующую схему и рассчитать все операторы ALTER TABLE для вас. (. Нет необходимости вручную писать миграции, как ж/Arnold, или PeeWee встроенных в версии)

Это будет выглядеть следующим образом:

enter image description here

Надеется, что это помогает!