nous.migration еще один основе SQLAlchemy инструмент миграции схемы базы данных.
Установка
Чтобы установить его, добавить:
[миграции]
Рецепт = zc.recipe.egg
яйца =
& NBSP; nous.migration
на ваш buildout.cfg
Вы можете добавить свой Pakcage драйвера Databse и приложения
пакет, как это:
[миграции]
Рецепт = zc.recipe.egg
яйца =
& NBSP; psycopg2
& NBSP; nous.some_app
& NBSP; nous.migration
Конфигурация
Добавить на development.ini или какой-либо другой вид INI:
[nous.migration]
Приложение = Приложение: занят
Пакет = busy.migration
Migrator ожидает конфигурации SQLAlchemy присутствовать в разделе приложения, например:
[приложение: занят]
sqlalchemy.url = PostgreSQL: /// развитие
Я мог бы добавить конфигурацию SQLAlchemy в разделе миграции тоже, если кто-то спросит.
Вы также можете добавить:
VCS Git =
schema_diff_cmd = мерзавец разн SRC / занят / модели / schema.sql
так что команда add_script бы добавить файлы в систему управления версиями, и заполнить их с дельты вашей схеме автоматически.
Эти две настройки могут пойти setup.cfg как они на самом деле не связаны и развертывание никогда не требуется, чтобы запустить приложение.
Использование
бен / мигрируют development.ini [Обновление | | понизить настройки | add_script] [версия]
Интеграция с приложением
Добавить что-то вроде этого:
& NBSP; & NBSP; & NBSP; Двигатель = engine_from_config (конф, "SQLAlchemy.)
& NBSP; & NBSP; & NBSP; DBMigrator (двигатель, "busy.migration '). Set_up_migration (init_migration = DBSetUp (), run_scripts = False)
на ваш setup_app, или в initialize_sql
DBSetUp это класс, который имеет метод "обновления", который инициализирует вашу схему.
Вы можете сделать это несколькими способами, вы можете добавить сценарий миграции, который устанавливает свои таблицы, а затем мигрируют, что с помощью сценариев миграции:
& NBSP; & NBSP; & NBSP; DBMigrator (двигатель, "busy.migration '). Set_up_migration (run_scripts = True)
Или вы можете иметь создан канонический схемы и инициализировать все сразу и просто отметьте все сценарии как "сделано"
& NBSP; & NBSP; & NBSP; . DBMigrator (двигатель, "busy.migration ') set_up_migration (init_migration = DBSetUp (), run_scripts = False)
Требования
- < LI> Python
Комментарии не найдены