pgmigrate2 egy Python eszköz, amely segít, hogy fejlődjön az adatbázis jelentkezési lappal együtt elküldeni.
Alapegysége PGmigrate egyetlen SQL részlet úgynevezett patch.
Minta adatbázis javítás
& Nbsp; cat 000049_Added_index_on_CategorySlug.sql
--- Id: 89ccfca6-6851-11e1-99d8-a088b4e3b168
--- Szerző: serg
--- Memo: Hozzáadott index CategorySlug
--- Dátum: 2012-03-07 14:32
Készítsen egyedi INDEX catalog_category_slug_shop_id_slug
& Nbsp; A catalog_category_slug
& Nbsp; HASZNÁLATA btree
& Nbsp; (shop_id, csiga);
Mint láthatjuk tapasz egy érvényes SQL fájlt, amely még lehet végrehajtani közvetlenül. Ez is szép, olvasható a fájl nevét, és olyan metaadatokat.
gyorstalpaló
Inicializáljon adatbázis
& Nbsp; pgmigrate2 init postgresql: // felhasználó @ jelszó / TESZTAB
Ez create table __applied_patches__ a TESZTAB. Ez a táblázatot használja követni, mely javítások vannak alkalmazva.
Hozzon létre egy patch repo, és az első javítás
& Nbsp; mkdir patchrepo
& Nbsp; pgmigrate2 newpatch patchrepo
... Szerkesztés tapaszt a szövegszerkesztőben ...
Írta "patchrepo / 000001_creating_table_x.sql"
Ez létrehoz üres foltot, és nyisd meg a szövegszerkesztőben. Adja javítás SQL, és az opcionális emlékeztető, amely leírja, mi a funkciója ennek a patch.
PGmigrate létrehoz egy fájlt, mint patchrepo / 000001_creating_table_x.sql, ahol a 000001 patch sorozatszámot, és creating_table_x egy slugified folt memo. PGmigrate tölti többi folt metaadatok magától.
Ellenőrizze, hogy mit kell alkalmazni
& Nbsp; pgmigrate2 check patchrepo / postgresql: // felhasználó @ jelszó / TESZTAB
Kell alkalmazni: tábla létrehozása x
Ellenőrizze mindent visz foltok patch repo, és nyomtassa ki a javítások listája, amelyeket alkalmazni kell a testd.
Hibajavításokat
& Nbsp; pgmigrate2 vándorolnak patchrepo / postgresql: // felhasználó @ jelszó / TESZTAB
Kell alkalmazni 1 tapasz:
Alkalmazhatóságát "tábla létrehozása x '
Migrate mindent visz javításokat a javítást repo, és egymás után alkalmazza közülük azok, akiknek id nincsenek jelen __applied_patches__ táblázatok TESZTAB.
beágyazása
Itt van például hogyan használjuk PGmigrate projektünk:
### Adatbázis migráció parancsok
@ Finaloption.command (config_opts)
def dbmigrate (config):
& Nbsp; a shopium.core.config import read_config
& Nbsp; config = read_config (config)
& Nbsp; a pgmigrate2 import api
& Nbsp; visszatérő api.migrate ("vándorlások", config.db_uri)
@ Finaloption.command (config_opts)
def dbnewpatch (config):
& Nbsp; a shopium.core.config import read_config
& Nbsp; config = read_config (config)
& Nbsp; a pgmigrate2 import api
& Nbsp; import alfolyamatban
& Nbsp; path = api.newpatch ("vándorlások")
& Nbsp; Ha a path:
& Nbsp; subprocess.check_call ('hg add% s "% utat, shell = True) # vegyük csak teremtett patch Mercurial
@ Finaloption.command (config_opts)
def dbcheckstatus (config):
& Nbsp; a shopium.core.config import read_config
& Nbsp; config = read_config (config)
& Nbsp; a pgmigrate2 import api
& Nbsp; api.check_status ("vándorlások", config.db_uri)
követelmények :
- Python
Hozzászólás nem található