Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie migriere ich über die Befehlszeile eine neue MySQL-Datenbankstruktur von der Entwicklungs- zur Produktionswebsite?

Sie haben zwei Möglichkeiten:

  1. Untersuchen Sie jede Tabelle manuell und bestimmen Sie, was ALTER ist Befehle auszuführen, um dieselben Änderungen an der Produktion vorzunehmen, die Sie an der Entwicklungsumgebung vorgenommen haben

  2. Verwenden Sie mysqldump, um alle Daten auf dem Produktionsserver zu sichern, und weisen Sie ihn an, die DROP/CREATE TABLE-Anweisungen zu überspringen (suchen Sie in --help nach der Befehlszeilenoption). Sichern Sie dann nur das Schema vom Entwicklungsserver, importieren Sie es auf den Produktionsserver und importieren Sie Ihre Sicherung, um die Zeilen wieder einzufügen. Dies erfordert, dass Sie keine Spalten entfernt haben.

In Zukunft sollten Sie damit beginnen, Ihre Schemaänderungen nachzuverfolgen. Moderne ORMs wie Doctrine, ActiveRecord haben sogenannte "Migrationen", die Ihnen helfen, diese zu verwalten und sie auf eine Datenbank anzuwenden, indem Sie die Schemaversion verfolgen.