YoYo-миграции е схема на база данни миграция полезност и с обикновена SQL и DB-API.
<Силен> Какво означава Yoyo-миграции направя?
Като приложения за бази данни се развиват, често са необходими промени в схемата на базата данни. Те обикновено може да бъде написано като еднократни SQL скриптове, съдържащи Създаване / ALTER изявления на маса (въпреки че всеки SQL или Python скрипт може да се използва с YoYo-миграции).
Yoyo-миграции осигурява онлайн инструмент команда за четене указател на такива скриптове и да го приложат към вашата база данни, както се изисква.
<Силен> подкрепа Database
PostgreSQL, MySQL и SQLite бази данни се поддържат.
Употреба
Yoyo-миграции обикновено се налагат като скрипт командния ред.
<силни> Примери:
Прочетете всички преселения от директорията миграции и ги прилага към база данни PostgreSQL:
Yoyo мигрират прилага ./migrations/ Postgres: // потребител: парола @ Localhost / база данни
Rollback миграции рано приложени към база от данни:
Yoyo мигрират намаление на цените ./migrations/ MySQL: // потребител: парола @ Localhost / база данни
Нанасяйте (т.е. общо намаление на цените след това нанесете отново) миграции на SQLite база данни в населено място /home/sheila/important-data.db:
Yoyo-мигрират Възстановете ./migrations/ SQLite: ////home/sheila/important-data.db
По подразбиране, YoYo-миграции започва в интерактивен режим, да ви пита за всяка миграция файл преди да го прилагат, което го прави лесно да се избере кой миграции да се прилага и намаление на цените.
Директорията на миграции трябва да съдържа серия от миграционните скриптове. Всеки скрипт миграция е файл питон (.py), съдържащ поредица от стъпки. Всяка стъпка трябва да съдържа заявка миграцията и (евентуално) заявка за намаление на цените. Например:
#
# Файлови: миграции / 0001.create-foo.py
#
стъпка (
& Nbsp; "Създаване на таблица Foo (ID INT, бар VARCHAR (20), първичен ключ (ID))",
& Nbsp; "DROP TABLE Foo",
)
Името на файла на всеки файл (без .py разширението) се използва като идентификатор за всички миграцията. Миграции се прилагат в името на файла ред, така че е полезно да се назове вашите файлове с помощта на дата (например "20090115-xyz.py") или с друг увеличаване броя.
Yoyo мигрират създава таблица в базата данни приемник, _yoyo_migration, за да следите, които миграции са били приложени.
Стъпки могат също така да вземат незадължителен аргумент ignore_errors, които трябва да бъдат един от прилага, намаление на цените, или всички. Ако в предишния пример Foo на маса може да са вече създадени от други средства, бихме могли да добавим ignore_errors = "приложи" на стъпка да позволи миграциите да продължат независимо:
#
# Файл: 0001.create-foo.py
#
стъпка (
& Nbsp; "Създаване на таблица Foo (ID INT, бар VARCHAR (20), първичен ключ (ID))",
& Nbsp; "DROP TABLE Foo",
& Nbsp; ignore_errors = "приложи",
)
Стъпки също могат да бъдат питон подлежащо на поискване изплащане обекти, които се свързване към база данни, като тяхна единствен аргумент. Например:
#
# Файл: 0002.update_keys.py
#
Def do_step (Кон):
& Nbsp; курсора = conn.cursor ()
& Nbsp; cursor.execute (
& Nbsp; "INSERT INTO sysinfo"
& Nbsp; "(osname, име на хост, освобождаване, версия, арх)"
& Nbsp; "стойности (% S% S% S% S% S% S)",
& Nbsp; os.uname ()
& Nbsp;)
стъпка (do_step)
<Силен> Password сигурност
Обикновено Вие посочите вашето потребителско име и парола база данни като част от низа за свързване на база данни на командния ред. На многопотребителска машина, други потребители може да видите парола база данни в списъка с процесите.
-p Или --prompt-парола Флагът причинява Yoyo-мигрират към иска парола, като се пренебрегват парола посочено в низа за свързване. Тази парола няма да бъде на разположение на други потребители чрез списък процес на системата.
<Силен> Connection низ кеширане
Първият път, когато стартирате Yoyo-мигрират върху нов набор от миграции, ще бъдете попитани дали искате да кешира низ свързване на база данни във файл, наречен .yoyo-мигрират в указателя за миграции.
Този кеш е местно в директорията на миграции, така последващи работи на един и същ набор миграция не се нуждаят от връзка низ база данни, за да бъдат уточнени.
Това спестява писането, избягва вашето потребителско име и парола база данни, показващи в процеса обяви и намалява риска от случайно работи Yoyo-мигрират от грешната база данни (т.е. чрез повторно използвате по-ранна Yoyo-мигрират влизане в историята на командния ред, когато са се преместили в друга директория).
Ако не искате този кеш файл, за да бъде използван, добавете параметъра --no-кеша на опции на командния ред
Какво ново в тази версия:.
- Fix за зле 4.2.3 освобождаване
Какво ново във версия 4.2.1:
- Bugfix за предишна версия, която пропуска важни файлове.
Какво ново във версия 4.1.6:
- Добавена прозорци подкрепа (благодарение на Петър Shinners)
Какво ново във версия 4.1.5:
- Конфигуриране товарачи дърводобив, така че -v превключвател причини изход за да отидете на конзолата (благодарение на Андрю Nelis).
- `` -v`` превключвател командния ред вече не приема аргумент, но могат да бъдат определени няколко пъти, вместо (т.е. използване `` -vvv`` вместо `` -v3``). `` --verbosity`` Запазва старото поведение.
Какво ново във версия 4.1.3:
- име миграцията маса Променени подразбиране обратно към "_yoyo_migration"
<силни> Изисквания :
- Python
Коментари не е намерена