Alembik yra naujos duomenų bazės migracijos įrankis, parašytas pagal sqlalchemy autoriaus & nbsp; migracija įrankis siūlo šią funkciją.:
- Ar išmeta pakeisti pareiškimus į duomenų bazę, siekiant pakeisti lenteles ir kitų konstrukcijų struktūra
- Teikia sistemą, pagal kurią "migracijos skriptą" gali būti pagamintas; kiekvienas scenarijus rodo tam tikrą seriją žingsnių, kad gali "atnaujinimas" tikslas bazės į naują versiją, ir pasirinktinai žingsnių, kad gali "kritimo" panašiai, daro tuos pačius veiksmus atvirkštine seriją.
- Leidžia scenarijus atlikti kai nuosekliai.
Iš Alembik tikslai yra šie:
- Labai neterminuotą ir skaidri konfigūracija ir eksploatavimas. Naujas Alembik aplinka susidaro iš šablonų rinkinys, kuris yra pasirinktas iš kelių variantų, kai sąranka pirmas pasitaiko. Šablonai tada deponuoti scenarijus, kurie apibrėžti visiškai kaip duomenų bazėmis nustatoma ir kaip migracija scenarijai yra taikomos seriją; patys migracijos scenarijai yra generuojami iš toje skriptus serijos šabloną. Scenarijus gali tada būti toliau pritaikyti tiksliai apibrėžti, kaip duomenų bazės bus bendravo su ir ką struktūra naujų migracijos failai turėtų imtis.
- Visas parama sandorio DDL. Numatytieji skriptai užtikrinti, kad visi migracija vyksta per operaciją - už šių duomenų bazių, kurios palaiko šį (PostgreSQL, Microsoft SQL Server), migracija gali būti patikrintas, be būtinybės rankiniu būdu atšaukti pakeitimus nutrūkus.
- Minimalistinis scenarijų statyba. Pagrindiniai veiksmai, kaip pervadinti STALAI / stulpelius, pridedant / pašalinti stulpelius, keisti stulpelių požymius galima atlikti per vieną eilutę komandas kaip alter_column (), rename_table (), add_constraint (). Nereikia atkurti visą sqlalchemy lentelė struktūras paprastos operacijos, kaip šie - funkcijos patys generuoti minimalistinio schemos "struktūras užkulisiuose pasiekti tikrą DDL seka.
- "Automatinio kartos" migracija. Nors nekilnojamojo pasaulio migracija yra kur kas sudėtingesnė nei gali būti automatiškai nustatomas, Alembik dar gali pašalinti pradinį grunt darbą kurti naujas migracijos direktyvas nuo pakitusiu schemą. --autogenerate Funkcija tikrinti esamą duomenų bazę, naudojant sqlalchemy anketa schemos kontrolės pajėgumus, palyginti ją su dabartinės duomenų bazės modelį, kaip nurodyta Python, ir generuoti "kandidačių" migracijos serija, padaryti jas į naują migracijos scenarijų, kaip Python direktyvų. Kūrėjas tada redaguoja naują failą, pridedant papildomus nurodymus ir duomenų migraciją, kiek reikia, gaminti gatavą migracija. Stalo ir stulpelio lygio pokyčiai gali būti aptiktas, su suvaržymus ir indeksai sekti, taip pat.
- Visas paramą migracijos sukurtas kaip SQL scenarijus. Tie iš mūsų, kurie dirba verslo aplinkoje žinome, kad tiesioginė prieiga prie DDL komandos nuo gamybos bazė yra reta privilegija, ir DBA norite tekstinę SQL scenarijus. Alembik anketa naudojimas modelis ir komandos yra orientuoti į sugebėti paleisti iš migracijos seriją į teksto išvesties failą, taip pat lengvai, kaip ji veikia juos tiesiogiai į duomenų bazę. Priežiūra turi būti imtasi šiuo režimu negali remtis kitos operacijos, kurios priklauso nuo į atminties parenka eilių - Alembik bando pateikti pagalbininkas konstruktus kaip bulk_insert (), kad padėtų su duomenų orientuotos veiklos, kurios yra suderinamos su scenarijaus pagrindu DDL.
- Netiesinė versijų. Skriptai pateikiami uuid identifikatorius panašiai kaip DVCS ir vieno scenarijaus Ryšys su kitais pasiekiama žymenų per pačius scenarijus. Per šį atviro mechanizmą, filialai, kuriuose yra kitų migracijos skriptą gali būti sujungtos - sąsajas galima rankiniu būdu redaguoti per skriptus sukurti naują seką.
- Pateikite pakeisti konstruktai, kurie gali būti naudojami bet sqlalchemy taikymo biblioteką. DDL konstruktai remtis sqlalchemy paties DDLElement bazę ir gali būti naudojamas standalone bet paraiškos ar scenarijų.
- Negalima nutraukti mūsų kaklų per SQLite nesugebėjimas pakeisti dalykus. SQLite beveik neturi paramą stalo arba stulpelio pakeitimo. Tai dizainas pagal SQLite kūrėjams, todėl Alembik atsisako įgyvendinti nepatogios ir blogai funkcinius apeiti šią platformą. Jei esate rimtas apie schemų migraciją, naudoti duomenų bazę, kad lygiai taip pat rimtai!
Dokumentacija ir statusas Alembik yra http://packages.python.org/alembic/.
Requirements:
- Python
Komentarai nerastas