alphabytes/migrations

2.0.0 2016-11-28 10:01 UTC

This package is not auto-updated.

Last update: 2024-04-10 22:59:56 UTC


README

Ein kleines Tool, welches Datenbankmigrationen/Datenbankversionierung vereinfachen sollte.

Installation

composer install alphabytes/migrations

config.php

Zunächst sollte eine config.php Datei im Projektverzeichnis unter migrations/config.php angelegt werden. Folgende Daten sollten zurückgegeben werden:

<?php
return [
    'host' => '',
    'database' => '',
    'user' => '',
    'password' => '',
    'table' => 'migrations'
];

table spezifiziert die Tabelle in welche die Migrationsinfos geschrieben werden.

Migrationsverzeichnis

Im selben Migrationsverzeichnis sollte pro Migration ein Unterordner angelegt werden. Diese Ordner sollten durchnummeriert sein (beginnend bei 1). In jedem Verzeichnis ist eine up.sql und eine down.sql Datei abzulegen, welche die Migration anwenden bzw. rückgängig machen.

Dateihashes

Das Tool speichert den Dateihash der jeweils letzten Änderung einer jeden Migration in die Datenbank. Dies ermöglicht es auch bei Mergekonflikten oder Zweigwechseln immer einen sauberen Stand zu halten.

CLI

Um die Migrationen anzuwenden sollte das Tool via ./vendor/bin/migrations ausgeführt werden. Das aktuelle Arbeitsverzeichnis sollte dem Projektordner entsprechen.

Folgende Operationen sind möglich:

test

Wendet alle Migrationen (beginnend mit 1) auf die angegebene Datenbank an und macht sie danach rückgängig. Nützlich um Korrektheit von Migrationen zu überprüfen.

apply

Wendet alle Migrationen auf die in der Konfiguration eingestellte Datenbank an. Ist ein weiterer Parameter angegeben, so wird nur ausgegeben, was das Tool tun würde ohne in die Datenbank zu schreiben.

status

Zeigt die zuletzt ausgeführte Migration.

rollback

Macht die letzten n Migrationen rückgängig. Standardmäßig eine.