Alembic egy új adatbázis migrációk segédprogram, írta a szerző a SQLAlchemy. & Nbsp; A vándorlások eszközt kínál a következő funkciókat:
- Bocsáthatnak ki ALTER kimutatásokat adatbázis megváltoztatása érdekében a táblázatok struktúrája és más konstrukciók
- Olyan rendszert, amelyben a "migrációs forgatókönyvek" lehet kialakítani; Minden script jelzi egy adott lépések sorozata, amely "upgrade" a cél adatbázis egy új változattal, és esetleg egy sor olyan intézkedést, amely "downgrade" Hasonlóképpen, ugyanezt lépéseket fordított.
- Lehetővé teszi a szkriptek futtatására néhány szekvenciális módon.
A célok Alembic a következők:
- Nagyon nyitott végű és átlátható kiépítés és üzemeltetés. Egy új Alembic környezetben keletkezik egy sor sablonok, amelyek közül választották ki egy sor lehetőséget, amikor elsőként telepíteni történik. A sablonok leteszi egy sor szkripteket, amelyek meghatározzák váljon, milyen adatbázis-kapcsolat jön létre, és hogyan migrációs szkriptek érvényesítik; A migrációs szkriptek magukat generálódik egy sablont belül sor szkripteket. A szkriptek aztán tovább lehet testre pontosan meghatározni, hogy milyen adatbázis lesz állt kapcsolatban, és mi szerkezete új migrációs fájlokat kell venni.
- Teljes mértékben támogatja a tranzakciós DDL. Az alapértelmezett szkriptek biztosítják, hogy minden áttelepítéskor tranzakción belül - azok számára, adatbázisok, amelyek támogatják ezt a (PostgreSQL, a Microsoft SQL Server), vándorlások lehet tesztelni és nem kell manuálisan változtatások visszavonásához meghibásodása.
- Minimalista script építése. Alapvető műveletek, mint átnevezés táblázatok / oszlopok, hozzáadása / eltávolítása oszlopok, változó oszlop attribútumokat el lehet végezni egy parancsokat, mint alter_column (), rename_table (), add_constraint (). Nincs szükség, hogy újra teljes SQLAlchemy táblázat struktúrák egyszerű műveletek, mint ezek - a funkciók maguk termelnek minimalista séma struktúrák a színfalak mögött, hogy elérjék az adott DDL sorrendben.
- "Auto generációs" vándorlások. Míg valós vándorlások sokkal összetettebb, mint amit a szoftver automatikusan felismeri, Alembic is megszünteti a kezdeti röfögés munka generáló új migrációs irányelvek a megváltozott sémának. A --autogenerate funkció megvizsgálja a jelenlegi helyzetét egy adatbázis segítségével SQLAlchemy sémáját kapacitással, hasonlítsa össze a jelenlegi állapota az adatbázis modell meghatározott Python, és ezáltal egy sor "jelölt" vándorlások, teszi őket egy új migrációs script, mint Python irányelvek. Úgy a fejlesztő szerkeszti az új file-t a további irányelvek és adatmigrációkban szükség, hogy készítsen egy kész migráció. Táblázat és az oszlop szintű változás mutatható ki, a korlátok és indexek követni is.
- Teljes mértékben támogatja a vándorlások generált SQL szkriptek. Azok közülünk, akik a vállalati környezetben tudják, hogy közvetlen hozzáférést DDL parancsok a termelési adatbázis egy ritka kiváltság, és az adatbázis-adminisztrátorok szeretnénk szöveges SQL szkriptek. Alembic a felhasználási módnak és a parancsok irányul, hogy képes futtatni egy sor vándorlások egy szöveges kimeneti fájl olyan könnyen, mint irányítja a közvetlenül adatbázisban. Ügyelni kell arra, ebben a módban a nem hivatkozhat egyéb műveletek támaszkodhatnak in-memory SELECT-sorok - Alembic igyekszik, hogy segítő konstrukciók, mint bulk_insert (), hogy segítsen az adat-orientált tevékenységek, amelyek kompatibilisek a script-alapú DDL.
- Nem lineáris versioning. Scripts kapnak UUID azonosítók hasonlóan a DVCS, és a kapcsolat az egyik script a következő útján valósul markerek a szkriptek magukat. Ezzel nyílt végű mechanizmust, ágak, amelyek egyéb migrációs szkriptek vonhatóak össze - az összefüggések, kézzel szerkesztett a szkript fájlokat létrehozni az új sorrendjét.
- Adjon egy könyvtár ALTER konstrukciók, amelyek felhasználhatók bármely SQLAlchemy alkalmazást. A DDL-szerkezeteket építsenek SQLAlchemy saját DDLElement alap és használható önálló alkalmazás sem, vagy script.
- Ne törd a nyakunkba több mint SQLite képtelen megváltoztatni a dolgokat. SQLite szinte nem támogatja a tábla vagy oszlop megváltoztatását. Ez tervezési által SQLite fejlesztők, így Alembic lemond végrehajtási kellemetlen és rosszul működő lehetséges megoldás a platform. Ha komolyan gondolod séma vándorlások, használható adatbázis, amely éppen olyan komoly!
Dokumentáció és állapotát Alembic van http://packages.python.org/alembic/.
Requirements:
- Python
Hozzászólás nem található