pgmigrate2 е инструмент, Python, която ви помага да се развива вашата база данни, заедно с вашата кандидатура.
Основната единица на PGmigrate е единичен SQL програмка, наречена пластир.
Sample база данни кръпка
& Nbsp; котка 000049_Added_index_on_CategorySlug.sql
--- ID: 89ccfca6-6851-11e1-99d8-a088b4e3b168
--- Автор: Сердж
--- Бележка: Добавена индекс на CategorySlug
--- Дата: 2012-03-07 14:32
Създаване на уникални INDEX catalog_category_slug_shop_id_slug
& Nbsp; ON catalog_category_slug
& Nbsp; ИЗПОЛЗВАНЕ btree
& Nbsp; (shop_id, плужек);
Както можете да видите кръпка е валиден SQL файл, който може дори да бъде изпълнена директно. Тя също има хубаво, разбираем за човека на името на файла, а някои метаданни.
<Силен> Quickstart
Инициализиране на база данни
& Nbsp; pgmigrate2 първоначален PostgreSQL: // потребител @ парола / TESTDB
Това ще създаде маса __applied_patches__ в TESTDB. Тази таблица се използва за проследяване, които вече се прилагат кръпки.
Създайте нов пластир репо, и първи пластир
& Nbsp; защитен режим patchrepo
& Nbsp; pgmigrate2 newpatch patchrepo
... Редактиране кръпка в текстов редактор ...
Пише "patchrepo / 000001_creating_table_x.sql"
Това ще създаде празна пластир и го отворите в текстов редактор. Въведете пластир SQL, и по желание бележка, описваща каква е функцията на тази кръпка.
PGmigrate ще създадете файл като patchrepo / 000001_creating_table_x.sql където 000001 е кръпка сериен номер, и creating_table_x е slugified пластир бележка. PGmigrate ще запълни почивка на пластир метаданни от само себе си.
Проверете какво трябва да се прилага за
& Nbsp; pgmigrate2 проверка patchrepo / PostgreSQL: // потребител @ парола / TESTDB
Необходимо е да се прилага: създаване на маса х
Проверете взема всички лепенки в пластир репо и отпечатате списък с лепенки, които се нуждаят, за да се приложи към testd.
Нанесете лепенки
& Nbsp; pgmigrate2 мигрират patchrepo / PostgreSQL: // потребител @ парола / TESTDB
Необходимо е да се прилага един кръпки:
Прилагането на "създаване на маса х"
Migrate взема всички лепенки от пластир репо, и последователно прилага тези от тях, чието ID не присъстват в __applied_patches__ маси на TESTDB.
<Силен> Вграждане
Ето например как използваме PGmigrate в нашия проект:
### миграционните Database команди
@ finaloption.command (config_opts)
Def dbmigrate (довереник):
& Nbsp; от shopium.core.config внос read_config
& Nbsp; довереник = read_config (довереник)
& Nbsp; от pgmigrate2 внос API
& Nbsp; връщане api.migrate ("миграции", config.db_uri)
@ finaloption.command (config_opts)
Def dbnewpatch (довереник):
& Nbsp; от shopium.core.config внос read_config
& Nbsp; довереник = read_config (довереник)
& Nbsp; от pgmigrate2 внос API
& Nbsp; внос подпроцес
& Nbsp; път = api.newpatch ("миграции")
& Nbsp; ако път:
& Nbsp; subprocess.check_call ("Hg добавите% S '% пътека, черупки = True) • Добавят се току-що създадената пластир да Mercurial
@ finaloption.command (config_opts)
Def dbcheckstatus (довереник):
& Nbsp; от shopium.core.config внос read_config
& Nbsp; довереник = read_config (довереник)
& Nbsp; от pgmigrate2 внос API
& Nbsp; api.check_status ("миграции", config.db_uri)
<силни> Изисквания :
- Python
Коментари не е намерена