Yoyo-vándorlások egy adatbázis séma segédprogram segítségével egyszerű SQL és a DB-API.
Mit yoyo-vándorlások csinálni?
Például adatbázis-alkalmazások fejlődik, változik az adatbázis séma gyakran van szükség. Ezek általában írásos és egyszeri SQL szkripteket tartalmazó CREATE / ALTER TABLE utasítások (bár minden SQL vagy python script lehet használni jojó-vándorlás).
Jojó-vándorlások egy parancssori eszköz olvasása könyvtár ilyen szkriptek és azok alkalmazására az adatbázis szükséges.
Adatbázis támogatás
PostgreSQL, MySQL és SQLite adatbázis támogatja.
Használat
Jojó-vándorlás általában hivatkozni a parancssori script.
Példák:
Olvassa el az összes induló vándorlások könyvtár vándorlások és alkalmazza azokat a PostgreSQL adatbázis:
yoyo-Migrate vonatkozik ./migrations/ postgres: // felhasználó: jelszó @ localhost / adatbázis
Visszagörgetési vándorlások korábban az egy MySQL adatbázis:
yoyo-Migrate rollback ./migrations/ mysql: // felhasználó: jelszó @ localhost / adatbázis
Alkalmazza újra (azaz visszavonni: majd ismét alkalmazni) vándorlások egy SQLite adatbázis helyét /home/sheila/important-data.db:
yoyo-vándorolnak Adja vissza az ./migrations/ SQLite: ////home/sheila/important-data.db
Alapértelmezésben jojó-vándorlás indul interaktív módon, bekéri az egyes migrációs fájl alkalmazása előtt, így könnyen melyik vándorlások kell alkalmazni, és rollback.
A vándorlások lennie kell egy sor migrációs szkriptek. Minden migráció szkript egy python fájl (.py) tartalmazó lépések sorozata. Minden lépés magában kell foglalnia a migráció lekérdezést és (opcionálisan) visszaállítását lekérdezést. Például:
#
# File: vándorlások / 0001.create-foo.py
#
lépésben (
& Nbsp; "CREATE TABLE ize (id INT, bár VARCHAR (20), elsődleges kulcs (id))",
& Nbsp; "DROP TABLE valami",
)
A fájlnév az egyes fájlok (anélkül, hogy a .py kiterjesztés) használják az azonosító az egyes migrációs. Vándorlások alkalmazzák fájlnév sorrendben, így nem árt, ha elnevezni a fájlokat egy dátum (pl "20090115-xyz.py"), vagy más megnő száma.
yoyo-Migrate létrehoz egy táblázatot a cél adatbázis, _yoyo_migration, nyomon követheti, mely vándorlások alkalmazták.
Lépéseket is tehet egy opcionális argumentum ignore_errors, amelyek közül kell alkalmazni, rollback, vagy az összes. Ha az előző példában az asztalra ize talán már létrehozott egy másik eszköz segítségével tudtuk felvenni ignore_errors = "alkalmazni" azt a lépést, hogy a vándorlások, hogy továbbra is függetlenül:
#
# File: 0001.create-foo.py
#
lépésben (
& Nbsp; "CREATE TABLE ize (id INT, bár VARCHAR (20), elsődleges kulcs (id))",
& Nbsp; "DROP TABLE valami",
& Nbsp; ignore_errors = "alkalmazni",
)
Lépések is python lehívható objektum, amely képes egy adatbázis-kapcsolatot, mint egységes érv. Például:
#
# File: 0002.update_keys.py
#
def do_step (Conn):
& Nbsp; kurzort = conn.cursor ()
& Nbsp; cursor.execute (
& Nbsp; "INSERT INTO sysinfo"
& Nbsp; "(osname, hostname, verzióval, arch)"
& Nbsp; "értékeket (% s,% s,% s,% s,% s% s)",
& Nbsp; os.uname ()
& Nbsp;)
lépésben (do_step)
Jelszó biztonsági
Ön általában pontosan meghatározzák az adatbázis felhasználónevét és jelszavát részeként az adatbázis kapcsolat string a parancssorban. Egy többfelhasználós gép, a többi felhasználó is megtekintheti az adatbázis jelszavát a folyamat listán.
A -p vagy --prompt-jelszót zászló okoz jojó-Migrate, hogy jelszót kérjen, figyelmen kívül hagyva a megadott jelszó connection string. Ez a jelszó nem lesz elérhető, hogy más felhasználók által a rendszer folyamat listája.
kapcsolat string caching
Az első futtatásakor jojó-vándorolnak egy sor új népvándorlás, kérni fogja, ha azt szeretné, hogy cache-adatbázis connection string nevű fájlt .yoyo-vándorolnak a vándorlások könyvtárban.
Ez a cache helyi a vándorlások könyvtár, így egy következő fut ugyanazon a migráció set nem kell az adatbázis kapcsolat string kell megadni.
Ez ment a gépelés, elkerüli az adatbázis felhasználónevét és jelszavát bemutató folyamatban listát, és csökkenti annak kockázatát, véletlenül fut jojó-vándorolnak a rossz adatbázis (azaz újra fut egy korábbi jojó-vándorolnak bejegyzés a parancs a történelem, ha költözött a másik könyvtárba).
Ha nem szeretné, hogy ez cache fájl használható, add --no- cache paraméter a parancssori opciókat.
Mi az új ebben a kiadásban:
- Fix for rosszul kezelte 4.2.3 kiadás
Mi az új verzióban 4.2.1:
- Hibajavítás az előző kiadás, ami kimaradt a kritikus fájlokat.
Mi az új verzióban 4.1.6:
- hozzáférhetõ Windows támogatása (köszönet Peter Shinners)
Mi az új verzióban 4.1.5:
- Adja naplózás rakodók úgy, hogy a -v kapcsolót okai kimenet a konzolra (hála Andrew Nelis).
- `` -v`` parancssori kapcsoló már nem tart olyan érv, de meg lehet adni többször helyett használni (azaz `` -vvv`` helyett `` -v3``). `` --verbosity`` Megtartja a régi viselkedés.
Mi az új verzióban 4.1.3:
- Megváltozott az alapértelmezett költöztető tábla nevét vissza "_yoyo_migration"
követelmények :
- Python
Hozzászólás nem található