Yoyo-migrations

Software screenshot:
Yoyo-migrations
Software informatie:
Versie: 4.2.4
Upload datum: 14 Apr 15
Ontwikkelaar: Oliver Cope
Licentie: Gratis
Populariteit: 6

Rating: nan/5 (Total Votes: 0)

Jojo-migraties is een hulpprogramma database schema migratie met behulp van eenvoudige SQL en de DB-API.
Wat doet yoyo-migraties doen?
Als database applicaties ontwikkelen, zijn wijzigingen in de database schema vaak nodig. Deze kan doorgaans worden geschreven als eenmalige SQL-scripts bevatten CREATE / ALTER TABLE (hoewel elke SQL of Python-script kan worden gebruikt met jojo-migraties).
Yoyo-migraties biedt een command line tool voor het lezen van een directory van dergelijke scripts en toe te passen op uw database, zoals vereist.
Database ondersteuning
PostgreSQL, MySQL en SQLite databases worden ondersteund.
Gebruik
Yoyo-migraties wordt gewoonlijk aangeroepen als een command line script.
Voorbeelden:
Lees alle migraties uit directory migraties en toepassen op een PostgreSQL-database:
yoyo-migreren ./migrations/ postgres toepassing: // gebruiker: wachtwoord @ localhost / databank
Rollback migraties eerder toegepast op een MySQL database:
yoyo-migreren rollback ./migrations/ mysql: // gebruiker: wachtwoord @ localhost / databank
Opnieuw toe te passen (dwz terugdraaien dan weer van toepassing) migraties naar een SQLite database op locatie /home/sheila/important-data.db:
yoyo-migreren opnieuw aanbrengen ./migrations/ sqlite: ////home/sheila/important-data.db
Standaard, jojo-migraties begint in een interactieve modus, waarin u wordt gevraagd voor elke migratie bestand voor de toepassing ervan, waardoor het gemakkelijk is om te kiezen welke migraties toe te passen en rollback.
De migraties directory moet een reeks van migratie scripts bevatten. Elke migratie script is een python bestand (.py) met een reeks stappen. Elke stap moet een migratie-query en (optioneel) een rollback-query bevatten. Bijvoorbeeld:
#
# Bestand: migraties / 0001.create-foo.py
#
stap (
& Nbsp; "CREATE TABLE foo (id INT, bar VARCHAR (20), PRIMARY KEY (id))",
& Nbsp; "DROP TABLE foo",
)
De bestandsnaam van elk bestand (zonder .py extensie) wordt gebruikt als de identificatie van elke migratie. Migraties worden toegepast in de bestandsnaam orde, dus het is handig om uw bestanden te noemen met een datum (bijvoorbeeld '20090115-xyz.py'), of met een ander het verhogen nummer.
yoyo-migreren zorgt voor een tafel in uw doelgroep database, _yoyo_migration, om bij te houden welke migraties zijn toegepast.
Stappen kunnen ook een optioneel argument ignore_errors, welke van toepassing zijn, rollback, of alles moet zijn. Als in het voorgaande voorbeeld de tabel foo mogelijk al door een ander middel, kunnen we ignore_errors voegen = 'toepassen om de stap om de migraties blijven ongeacht:
#
# Bestand: 0001.create-foo.py
#
stap (
& Nbsp; "CREATE TABLE foo (id INT, bar VARCHAR (20), PRIMARY KEY (id))",
& Nbsp; "DROP TABLE foo",
& Nbsp; ignore_errors = 'toepassen',
)
Stappen kunnen ook python opvraagbare objecten die een databaseverbinding als hun enkel argument te nemen. Bijvoorbeeld:
#
# Bestand: 0002.update_keys.py
#
def do_step (verb):
& Nbsp; cursor = conn.cursor ()
& Nbsp; cursor.execute (
& Nbsp; "INSERT INTO sysinfo"
& Nbsp; "(OSName, hostname, release, versie, arch)"
& Nbsp; "WAARDEN (% s,% s,% s,% s,% s% s)",
& Nbsp; os.uname ()
& Nbsp;)
stap (do_step)
Wachtwoord beveiliging
Je normaal geef uw database gebruikersnaam en wachtwoord in als onderdeel van de database connectie string op de opdrachtregel. Op een multi-user machine kunnen andere gebruikers uw database wachtwoord in het proces lijst te bekijken.
De -p of --Snel-wachtwoord vlag veroorzaakt jojo-migreren naar een wachtwoord wordt gevraagd, geen wachtwoord opgegeven in de verbinding string negeren. Dit wachtwoord zal niet beschikbaar zijn voor andere gebruikers via de lijst met processen van het systeem zijn.
Verbindingsreeks caching
De eerste keer dat je loopt jojo-migreren op een nieuwe serie van migraties, wordt u gevraagd of u wilt de database connectie string in een bestand genaamd .yoyo-migreren in de migraties directory cache.
Deze cache is lokaal op de migraties directory, zodat latere draait op dezelfde migratie set niet de database connectie string aan te geven nodig.
Dit bespaart het typen, vermijdt uw database gebruikersnaam en wachtwoord vertoning in proces lijsten en vermindert de kans op per ongeluk loopt jojo-migreren op het verkeerde database (dwz door opnieuw een eerdere jojo-migreren vermelding in uw commando geschiedenis wanneer u bent verhuisd naar een andere map).
Als u niet wilt dat deze cache-bestand te gebruiken, voeg de parameter --no-cache op de command line opties

Wat is nieuw in deze release:.

  • Fix voor mismanaged 4.2.3 versie

Wat is nieuw in versie 4.2.1:

  • Bugfix voor de vorige versie, die kritieke bestanden weggelaten.

Wat is nieuw in versie 4.1.6:

  • Toegevoegd ramen ondersteuning (met dank aan Peter Shinners)

Wat is nieuw in versie 4.1.5:

  • configureren logging handlers, zodat de -v schakelaar oorzaken uitgang naar de console (met dank aan Andrew Nelis).
  • `` -v`` command line switch niet langer een argument, maar kan meerdere keren in plaats daarvan worden vermeld (dwz gebruik `` -vvv`` in plaats van `` -v3``). `` --verbosity`` Behoudt de oude gedrag.

Wat is nieuw in versie 4.1.3:

  • Veranderd standaard migratietabel naam terug naar '_yoyo_migration'

Eisen

  • Python

Vergelijkbare software

mig
mig

20 Feb 15

Yada
Yada

2 Jun 15

Pyrseas
Pyrseas

20 Feb 15

Andere software van ontwikkelaar Oliver Cope

Fresco
Fresco

10 Dec 15

fresco
fresco

20 Feb 15

Swab
Swab

20 Feb 15

Flea
Flea

20 Feb 15

Reacties op Yoyo-migrations

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