pgmigrate2

Software screenshot:
pgmigrate2
Software informatie:
Versie: 1.2.2
Upload datum: 14 Apr 15
Ontwikkelaar: Sergey Kirillov
Licentie: Gratis
Populariteit: 2

Rating: nan/5 (Total Votes: 0)

pgmigrate2 is een Python-tool die u helpt om uw database samen te evolueren met uw aanvraag.
De fundamentele eenheid van PGmigrate is één SQL-fragment genoemd patch.
Voorbeeld database patch
& Nbsp; cat 000049_Added_index_on_CategorySlug.sql
--- Id: 89ccfca6-6851-11e1-99d8-a088b4e3b168
--- Auteur: Serg
--- Memo: Toegevoegd index op CategorySlug
--- Datum: 2012-03-07 14:32
CREATE UNIQUE INDEX catalog_category_slug_shop_id_slug
& Nbsp; ON catalog_category_slug
& Nbsp; GEBRUIK btree
& Nbsp; (shop_id, naaktslak);
Zoals je kunt zien patch is een geldige SQL-bestand, dat ook direct kunnen worden uitgevoerd. Het heeft ook leuk, mensen leesbare bestandsnaam, en sommige metadata.
Quickstart
Initialiseren databank
& Nbsp; pgmigrate2 init postgresql: // gebruiker @ wachtwoord / testdb
Dit zal tafel __applied_patches__ creëren in testdb. Deze tabel wordt gebruikt om bij te houden welke patches al worden toegepast.
Maak een patch repo, en een eerste patch
& Nbsp; mkdir patchrepo
& Nbsp; pgmigrate2 newpatch patchrepo
... Bewerken patch in uw tekstverwerker ...
Schreef 'patchrepo / 000001_creating_table_x.sql'
Dit zal lege patch maken en open het in uw tekstverwerker. Voer patch SQL, en optionele memo, beschrijven wat is de functie van deze patch.
PGmigrate zal een bestand als patchrepo / 000001_creating_table_x.sql waar 000.001 is een patch serienummer te creëren, en creating_table_x is een slugified patch memo. PGmigrate zal rest van patch metadata te vullen door zelf.
Controleer wat er moet worden toegepast op
& Nbsp; pgmigrate2 check patchrepo / postgresql: // gebruiker @ wachtwoord / testdb
Moeten gelden: het creëren van tafel x
Check neemt alle patches in patch repo, en drukt u een lijst met plekken die moeten worden toegepast op testd.
Patches toepassen
& Nbsp; pgmigrate2 migreren patchrepo / postgresql: // gebruiker @ wachtwoord / testdb
Moeten 1 patches:
Het toepassen van 'het creëren van tafel x'
Migreren neemt alle patches van patch repo, en sequentieel geldt die van hen, wiens id niet aanwezig zijn in __applied_patches__ tafels van testdb.
Embedding
Hier is een voorbeeld hoe we PGmigrate in ons project:
### Database migratie commando
@ Finaloption.command (config_opts)
def dbmigrate (config):
& Nbsp; van shopium.core.config import read_config
& Nbsp; config = read_config (config)
& Nbsp; van pgmigrate2 import api
& Nbsp; return api.migrate ('migratie', config.db_uri)
@ Finaloption.command (config_opts)
def dbnewpatch (config):
& Nbsp; van shopium.core.config import read_config
& Nbsp; config = read_config (config)
& Nbsp; van pgmigrate2 import api
& Nbsp; import deelproces
& Nbsp; path = api.newpatch ('migratie')
& Nbsp; als pad:
& Nbsp; subprocess.check_call ('hg toe% s'% weg, shell = True) # Voeg gewoon gemaakt patch om Mercurial
@ Finaloption.command (config_opts)
def dbcheckstatus (config):
& Nbsp; van shopium.core.config import read_config
& Nbsp; config = read_config (config)
& Nbsp; van pgmigrate2 import api
& Nbsp; api.check_status ('migratie', config.db_uri)

Eisen

  • Python

Vergelijkbare software

Reacties op pgmigrate2

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!