2012-03-30 4 views
4

Ich entwickle eine Website. Ich habe eine entfernte und lokale Kopie, und ich entwickle auf der lokalen Kopie, und wenn ich dann eine stabile Version habe, kopiere ich alle PHP-Dateien und dann muss ich die entfernte Live-MySQL-Datenbank wie meine lokale aussehen lassen.Ist die MySQL-Replikation das richtige Mittel, um eine Entwicklungsumgebung zum Testen einzurichten?

Normalerweise lösche ich die Remote-Live-Datenbank (solange ich keine neuen Änderungen lösche) und importiere sie erneut aus einer .sql-Datei mit PHPMyAdmin.

Ich möchte ein zuverlässigeres, korrekteres und idiotensicheres Versionsaktualisierungssystem für meine Datenbank einrichten. Ist MySQL Server Replikation die richtige Antwort? Wie wird das normalerweise gemacht?

Antwort

4

Nein, Sie möchten nie eine Entwicklungs-/Testumgebung in eine Live-Datenbank replizieren. Wenn Sie versehentlich einen Tisch fallen ließen, würden Sie die Live-Site löschen.

Besser so etwas wie http://www.mysqldiff.org/

+0

Oh danke, das sieht aus wie ich brauche. – Nathan

1

Wohl die beste Art und Weise zu verwenden, dies zu tun Migrationen ist. Migrationen sind im Wesentlichen Code, der zusammen mit Ihrer Anwendung gespeichert wird, um das Datenbankschema zu aktualisieren, wenn es sich ändert. Das Schöne an Migrationen ist, dass sie versioniert werden können und Änderungen im Datenbankschema leicht mit Änderungen im Code verknüpft werden können. Bei korrekter Verwendung können Sie Migrationen auch verwenden, um die Datenbank auf einen früheren Status zurückzusetzen.

Für ein Beispiel, überprüfen Sie die Verwendung von Migrationen in der Yii framework.

Verwandte Themen