Yoyo-migrations

Screenshot Software:
Yoyo-migrations
Mga detalye ng Software:
Bersyon: 4.2.4
I-upload ang petsa: 14 Apr 15
Nag-develop: Oliver Cope
Lisensya: Libre
Katanyagan: 6

Rating: nan/5 (Total Votes: 0)

Yoyo-paglilipat ay isang utility sa paglilipat ng schema ng database gamit ang plain SQL at ang DB-API.
Ano ang Yoyo-paglilipat gawin?
Bilang magbabago application database, mga pagbabago sa schema ng database ay madalas na kinakailangan. Ang mga karaniwang na nakasulat bilang isa-off ang SQL script na naglalaman ng LUMIKHA / baguhin ang mga pahayag table (kahit na anumang SQL o python script ay maaaring gamitin sa Yoyo-paglilipat).
Yoyo-paglilipat ay nagbibigay ng isang tool na linya ng command para sa pagbabasa ng isang direktoryo ng naturang mga script at ilapat ang mga ito sa iyong database bilang kinakailangan.
Database suporta
PostgreSQL, MySQL at SQLite database ay suportado.
Paggamit
Yoyo-paglilipat ay kadalasang tawagin bilang isang linya ng command script.
Mga halimbawa:
Basahin ang lahat ng mga paglilipat mula sa direktoryo ng mga paglilipat at ilapat ang mga ito sa isang PostgreSQL database:
Yoyo-migrate ang mag-apply ./migrations/ postgres: // user: password @ localhost / database
Rollback paglilipat dati nailalapat sa isang MySQL database:
Yoyo-migrate ang rollback ./migrations/ MySQL: // user: password @ localhost / database
I-apply muli (is rollback pagkatapos ay ilapat muli) mga paglilipat sa isang SQLite database sa /home/sheila/important-data.db lokasyon:
Yoyo-migrate muling mag-apply ./migrations/ SQLite: ////home/sheila/important-data.db
Sa pamamagitan ng default, Yoyo-paglilipat ay nagsisimula sa isang interactive na mode, na nagpo-prompt ka para sa bawat file sa paglilipat bago ilapat ang mga ito, na ginagawang mas madali upang piliin kung aling mga paglilipat upang ilapat at rollback.
Ang direktoryo ng paglilipat ay dapat maglaman ng isang serye ng mga script sa paglilipat. Ang bawat paglipat script ay isang python file (.py) na naglalaman ng isang serye ng mga hakbang na ito. Sa bawat hakbang ay dapat na binubuo ng paglilipat query at (optionally) ng rollback query. Halimbawa:
#
# File: paglilipat / 0001.create-foo.py
#
hakbang (
& Nbsp; "LILIKHA TALAAN foo (id int, bar VARCHAR (20), PANGUNAHIN KEY (id))",
& Nbsp; "drop TALAAN foo",
)
Ang filename ng bawat file (nang walang .py extension) ay ginagamit bilang ang identifier para sa bawat paglilipat. Paglilipat ay inilalapat sa filename order, kaya kapaki-pakinabang upang pangalanan ang iyong mga file gamit ang isang petsa (eg '20090115-xyz.py') o sa isa pang incrementing numero.
Yoyo-migrate ang lumilikha ng lamesa sa iyong target na database, _yoyo_migration, upang subaybayan kung aling mga paglilipat ay maaaring ipatupad.
Mga Hakbang Maaari ring tumagal ng opsyonal na ignore_errors argument, na dapat na ang isa sa ilapat, rollback, o lahat. Kung sa nakaraang halimbawa ng talahanayan foo maaaring nalikha na sa pamamagitan ng isa pang paraan, maaari naming magdagdag ng ignore_errors = 'apply' sa hakbang upang payagan ang mga paglilipat upang magpatuloy nang walang kinalaman:
#
# File: 0001.create-foo.py
#
hakbang (
& Nbsp; "LILIKHA TALAAN foo (id int, bar VARCHAR (20), PANGUNAHIN KEY (id))",
& Nbsp; "drop TALAAN foo",
& Nbsp; ignore_errors = 'apply',
)
Hakbang na maaari ring maging python callable bagay na tumagal ng koneksyon sa database bilang kanilang nag-iisang argumento. Halimbawa:
#
# File: 0002.update_keys.py
#
def do_step (conn):
& Nbsp; cursor = conn.cursor ()
& Nbsp; cursor.execute (
& Nbsp; "INSERT SA sysinfo"
& Nbsp; "(osname, hostname, release, bersyon, arch)"
& Nbsp; "halaga (% s,% s,% s,% s,% s% s)",
& Nbsp; os.uname ()
& Nbsp;)
hakbang (do_step)
seguridad Password
Normal mong tukuyin ang iyong database username at password bilang bahagi ng string koneksyon sa database sa linya ng command. Sa isang multi-user na makina, maaaring tingnan ang iba pang mga user sa iyong database na password sa listahan ng proseso.
Ang -p o --prompt-flag ng password nagiging sanhi ng Yoyo-migrate sa prompt para sa isang password, nang binabalewala ang anumang mga password na tinukoy sa connection string. Password na ito ay hindi magagamit sa iba pang mga gumagamit sa pamamagitan ng listahan ng proseso ng system.
Koneksyon string pag-cache
Sa unang pagkakataon na patakbuhin mo ang Yoyo-migrate sa isang bagong hanay ng mga paglilipat, tatanungin ka kung gusto mong i-cache ang connection string database sa isang file na tinatawag na .yoyo-migrate sa direktoryo paglilipat.
Cache Ito ay lokal na direktoryo ng mga paglilipat, kaya kasunod ay tumatakbo sa parehong hanay ng paglilipat ng hindi na kailangan ang connection string database na tinukoy.
Ito sine-save ng pag-type, avoids iyong database username at password nagpapakita sa proseso ng listahan at lessens ang panganib ng aksidenteng tumatakbo Yoyo-migrate sa maling database (ibig sabihin, sa pamamagitan ng pagpapatakbo muling isang mas maagang entry Yoyo-migrate sa iyong kasaysayan ng command kapag mo na lumipat sa isang ibang direktoryo).
Kung hindi mo nais na ito file ng cache na gagamitin, idagdag ang mga parameter --no-cache na mga pagpipilian sa linya ng command

Ano ang bagong sa paglabas:.

  • Ayusin ang para sa mismanaged 4.2.3 paglabas

Ano ang bagong sa bersyon 4.2.1:

  • Bugfix para sa nakaraang mga release, na tinanggal na sa mga kritikal na mga file.

Ano ang bagong sa bersyon 4.1.6:

  • Idinagdag bintana suporta (salamat sa Peter Shinners)

Ano ang bagong sa bersyon 4.1.5:

  • I-configure ang pag-log ng mga tagapangasiwa upang ang -v switch sanhi output upang pumunta sa console (salamat sa Andrew Nelis).
  • `` hindi na tumatagal -v`` command line switch ng argumento ngunit maaaring tukuyin nang maraming beses sa halip (yan paggamit `` -vvv`` sa halip na `` -v3``). `` Napapanatili --verbosity`` ang lumang pag-uugali.

Ano ang bagong sa bersyon 4.1.3:

  • Nagbago ang default na pangalan ng paglilipat ng talahanayan pabalik sa '_yoyo_migration'

Mga Kinakailangan :

  • Python

Katulad na software

DbWrench
DbWrench

17 Jul 15

Jude
Jude

3 Jun 15

Iba pang mga software developer ng Oliver Cope

Fresco
Fresco

10 Dec 15

Flea
Flea

20 Feb 15

frescoext-genshi
frescoext-genshi

20 Feb 15

fresco
fresco

20 Feb 15

Mga komento sa Yoyo-migrations

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!