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 = Git Diff 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
Коментар не знайдено