2016-05-26 5 views
0

Ich habe mit Laravel gespielt und liebe das Datenbank-Migrationssystem.Pushing mysql Datenbank ändert sich von lokalen zu Staging/Produktion

Ich arbeite auch viel mit WordPress und frage mich, ob es eine ähnliche Möglichkeit gibt, Datenbankänderungen in Textdateien zu beschreiben, die git hinzugefügt werden können und diese Änderungen auf eine entfernte Version der db in Staging- oder Produktionsumgebungen übertragen .

Vielleicht könnte der lokale Rechner eine Verbindung zur remote mysql db herstellen und die Änderungen automatisch vornehmen.

Es muss etwas geben, aber ich kann nichts über Google oder andere Routen finden.

Die nächste, die ich gefunden habe, ist , aber ich bin nicht sicher, es ist ziemlich die gleiche Sache.

Wer hat irgendwelche Werkzeuge oder Vorschläge?

+0

Dies ist ein komplexes Thema und wird über einfache Szenarien hinaus schwierig zu automatisieren. Es gibt viele Produkte auf verschiedenen Ebenen, viele Ansprüche und viele Meinungen :) Nach all meinen Jahren machen wir es immer noch manuell. MySQL Workbench kann sehr gute Struktur-Diffs für Sie erstellen, Sie könnten dies festschreiben und dann nach der Erstellung von Backups, Inhaltsmigration etc. auf Produktion ausführen. Das Vertrauen in ein Tool ... klingt für mich riskant! – scipilot

+0

RedGate ist eines der besten für MS SQL, obwohl VStudio es auch jetzt tut. Wenn Sie diese betrachten, können Sie den richtigen Produktraum und die richtige Terminologie finden, um nach einem MySQL-Äquivalent zu suchen. – scipilot

Antwort

0

Ich empfehle Ihnen, lib https://phinx.org/ zu verwenden. Wir benutzen diese Bibliothek in unserer Firma und wir sind ziemlich damit. Sie können diese Bibliothek mit Composer installieren und konfigurieren Sie mit PHP-Dateien (ist eine Option - gut, verschiedene Konfigurationsdateien - z. B. von Wordpress). Der große Vorteil ist, dass Sie Ihre Migration in PHP-Code schreiben. Sie müssen nur die Methode up (make migration) und down (to rollback - Sie können es zur ausgewählten Phase machen) definieren. Sehen Sie sich ein Beispiel unten an:

Wenn Sie Änderungen von Entwicklungszweig zu Master zusammenführen, führen Sie auch Migration durch. Nach der Zusammenführung haben wir ein Skript implementiert, das Migrationen auf Live-Env ausführt. Sie sind also sicher, dass Sie mit Ihrem Code die Datenbank geändert haben.

0

Wechselgeldsätze von Liquibase. Löst nicht das Problem des Zurückrollens der Historie, bringt große Kopfschmerzen bei der Zusammenführung - aber dokumentiert alle Daten- und Strukturänderungen