nous.migration er enda en SQLAlchemy basert databaseskjema migrasjon verktøyet.
Installasjon
For å installere den, legge til:
[Migrasjon]
oppskrift = zc.recipe.egg
egg =
& Nbsp; nous.migration
til din buildout.cfg
Du ønsker kanskje å legge til din databse driver pakcage og søknaden
pakke som dette:
[Migrasjon]
oppskrift = zc.recipe.egg
egg =
& Nbsp; psycopg2
& Nbsp; nous.some_app
& Nbsp; nous.migration
Konfigurasjon
Legg til ditt development.ini eller noen annen form for ini:
[Nous.migration]
app = app: opptatt
pakke = busy.migration
Komponenten forventer sqlalchemy konfigurasjon til å være til stede i app-delen, for eksempel:
[App: opptatt]
sqlalchemy.url = postgresql: /// utvikling
Jeg kan legge sqlalchemy konfigurasjon til migrasjon delen også hvis noen vil spørre.
Du kan også legge til:
VCS = git
schema_diff_cmd = git diff src / opptatt / modeller / schema.sql
slik at add_script kommando ville legge filene til versjonskontrollsystemet, og fylle dem med deltaet til ditt skjema automatisk.
Disse to innstillingene kan gå den setup.cfg som de ikke er virkelig distribusjon beslektet og blir aldri kreves for å kjøre programmet.
Bruk
bin / migrere development.ini [oppgradering | nedgradering | oppsett | add_script] [versjon]
Integrering med søknaden
Legg noe sånt som dette:
& Nbsp; & nbsp; & nbsp; motor = engine_from_config (conf, 'sqlalchemy.')
& Nbsp; & nbsp; & nbsp; DBMigrator (motor, 'busy.migration'). Set_up_migration (init_migration = DBSetUp (), run_scripts = False)
til din setup_app, eller i din initialize_sql
DBSetUp er en klasse som har en "oppgradering" metode som initialiserer ditt skjema.
Du kan gjøre det på flere måter, kan du legge til en migrering script som setter opp bord og deretter migrere at bruk av migrasjons skript:
& Nbsp; & nbsp; & nbsp; DBMigrator (motor, 'busy.migration'). Set_up_migration (run_scripts = True)
Eller du kan ha en kanonisk skjema sette opp og klargjøre alt på en gang og bare markere alle scripts som "ferdig"
& Nbsp; & nbsp; & nbsp; . DBMigrator (motor, 'busy.migration') set_up_migration (init_migration = DBSetUp (), run_scripts = False)
Krav :
- < li> Python
Kommentarer ikke funnet