Yoyo-vaellukset on tietokantakaava muuttoliike apuohjelma käyttämällä tavallista SQL ja DB-API.
Mitä yoyo-vaellukset tehdä?
Koska tietokanta sovelluksia kehittyvät, muutokset tietokantakaavan tarvitaan usein. Nämä voidaan yleensä kirjoitetaan kertaluonteinen SQL-skriptit sisältävät CREATE / ALTER pöytä lausunnot (vaikka mitään SQL tai python skripti voidaan käyttää yoyo-vaellukset).
Yoyo-vaellukset tarjoaa komentorivi työkalu lukee hakemiston näiden komentosarjojen ja soveltaa niitä omaan tietokantaan tarpeen.
Tietokanta tuki
PostgreSQL, MySQL ja SQLite tietokantoja ovat tuettuja.
Käyttö
Yoyo-vaellukset yleensä vedota komentorivikirjoitus.
Esimerkkejä:
Lue kaikki vaellukset hakemistosta vaellukset ja soveltaa niitä PostgreSQL-tietokantaan:
yoyo-migrate sovelletaan ./migrations/ postgres: // käyttäjä: salasana @ localhost / tietokanta
Palautus muuttoliikkeet aiemmin sovellettu MySQL:
yoyo-migrate purkamisen ./migrations/ mysql: // käyttäjä: salasana @ localhost / tietokanta
Rasvaa (eli palautus sitten hakea uudelleen) muuttoliikkeet ja SQLite tietokantaan sijainti /home/sheila/important-data.db:
yoyo-vaeltavat hakea uutta ./migrations/ sqlite: ////home/sheila/important-data.db
Oletuksena jojo-vaellukset käynnistyy interaktiiviseen tilaan, jossa kehotetaan kutakin siirtotiedoston ennen kuin se, jonka avulla on helppo valita, minkä muuttoliikkeet soveltaa ja purkamisen.
Vaellukset hakemisto tulisi sisältää joukon maahanmuuton skriptejä. Jokainen muuttoliike käsikirjoitus on python tiedosto (.py), joka sisältää useita vaiheita. Jokainen askel olisi kuuluttava muuttoliike kyselyn ja (mahdollisesti) purkamisen kysely. Esimerkiksi:
#
# File: vaellukset / 0001.create-foo.py
#
vaihe (
& Nbsp; "CREATE TABLE foo (id INT, baari VARCHAR (20), PRIMARY KEY (id))",
& Nbsp; "DROP TABLE foo",
)
Tiedostonimi kunkin tiedoston (ilman .py laajennus) käytetään tunnisteen jokaisen maahanmuuttoa. Migrations sovelletaan tiedostonimi järjestyksessä, joten on hyödyllistä nimetä tiedostoja päivämäärän (esim '20090115-xyz.py ") tai toisen lisäävä numero.
yoyo-migrate luo taulukon kohde tietokantaan, _yoyo_migration, seurata, mitä vaellukset on sovellettu.
Vaiheet voivat myös ottaa Valinnainen argumentti ignore_errors, jonka on oltava yksi sovelletaan, purkamisen tai kaikki. Jos edellisessä esimerkissä taulukko foo ehkä jo luotu jollakin muulla, voisimme lisätä ignore_errors = "sovelletaan" askel, jotta vaelluksista jatkaa riippumatta:
#
# File: 0001.create-foo.py
#
vaihe (
& Nbsp; "CREATE TABLE foo (id INT, baari VARCHAR (20), PRIMARY KEY (id))",
& Nbsp; "DROP TABLE foo",
& Nbsp; ignore_errors = "sovelletaan",
)
Vaiheet voivat olla myös python vaadittaessa maksettavaa esineitä jotka vievät tietokantayhteyttä yhtenäisvaluutakseen argumentti. Esimerkiksi:
#
# File: 0002.update_keys.py
#
def do_step (Conn):
& Nbsp; kohdistin = conn.cursor ()
& Nbsp; cursor.execute (
& Nbsp; "INSERT INTO sysinfo"
& Nbsp; "(osname, hostname, julkaisu, versio, kaari)"
& Nbsp; "ARVOT (% s,% s,% s,% s,% s% s)",
& Nbsp; os.uname ()
& Nbsp;)
vaihe (do_step)
Salasana turvallisuus
Voit yleensä määrittää tietokannan käyttäjätunnus ja salasana osana tietokannan yhteyden merkkijonon komentorivillä. On monen käyttäjän kone, muut käyttäjät voivat katsella tietokannan salasana prosessilistassa.
-p Tai --prompt-salasana lippu aiheuttaa jojo-Siirto kysymään salasanaa, välittämättä mitään salasanaa määritetty yhteys merkkijono. Tämä salasana ei ole saatavilla muille käyttäjille kautta järjestelmän prosessi luettelosta.
Yhteys merkkijono välimuistia
Ensimmäisen kerran käynnistät jojo-siirtyä uuteen joukko muuttoliikkeet, sinulta kysytään, haluatko välimuistiin tietokantayhteyden merkkijono tiedosto nimeltä .yoyo-vaeltavat vaellukset hakemistoon.
Tämä kätkö on paikallinen vaelluksista hakemistoon, niin myöhemmin kulkee samoilla maahanmuuttoa joukon ei tarvitse tietokantayhteyden merkkijono täsmennettävä.
Tämä säästää kirjoittamalla, vältetään tietokannan käyttäjätunnus ja salasana näyttävästi prosessissa listauksia ja vähentää riskiä vahingossa käynnissä jojo-kulkeutua väärään tietokantaan (eli uudelleen käynnissä aikaisemmin jojo-vaeltavat merkintä komentohistoriasi kun olet muuttanut toinen hakemisto).
Jos et halua tätä välimuistitiedostoa käytettävä, lisää --no-välimuisti parametrin komentorivin.
Mitä uutta strong> tässä julkaisussa:
- Fix huonosti 4.2.3 julkaisu
Mitä uutta strong> versiossa 4.2.1:
- Bugikorjaus aiempien julkaisu, joka jättää pois tärkeitä tiedostoja.
Mitä uutta strong> versiossa 4.1.6:
- Lisätty ikkunat tuki (kiitos Peter Shinners)
Mitä uutta strong> versiossa 4.1.5:
- Määritä hakkuut käsittelijät jotta -v syitä lähtö mennä konsolin (kiitos Andrew Nelis).
- `` -v`` komentorivivalitsin enää vie argumentti, mutta voidaan määritellä useita kertoja sen sijaan (eli käyttö `` -vvv`` eikä `` -v3``). `` --verbosity`` Säilyttää vanhaa toimintaa.
Mitä uutta strong> versiossa 4.1.3:
- Vaihtoi oletuksena maahanmuuttoa taulukon nimi takaisin "_yoyo_migration"
Vaatimukset :
- Python
Kommentteja ei löytynyt