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

Mechanismen zum Verfolgen von DB-Schemaänderungen

In der Rails-Welt gibt es das Konzept der Migrationen, Skripte, in denen Änderungen an der Datenbank in Ruby vorgenommen werden, anstatt in einer datenbankspezifischen Variante von SQL. Ihr Ruby-Migrationscode wird schließlich in die für Ihre aktuelle Datenbank spezifische DDL konvertiert; Dadurch wird der Wechsel zwischen Datenbankplattformen sehr einfach.

Für jede Änderung, die Sie an der Datenbank vornehmen, schreiben Sie eine neue Migration. Migrationen haben normalerweise zwei Methoden:eine „Up“-Methode, bei der die Änderungen angewendet werden, und eine „Down“-Methode, bei der die Änderungen rückgängig gemacht werden. Ein einziger Befehl bringt die Datenbank auf den neuesten Stand und kann auch verwendet werden, um die Datenbank auf eine bestimmte Version des Schemas zu bringen. In Rails werden Migrationen in einem eigenen Verzeichnis im Projektverzeichnis aufbewahrt und wie jeder andere Projektcode in die Versionskontrolle eingecheckt.

Dieses Oracle Leitfaden für Rails-Migrationen deckt Migrationen recht gut ab.

Entwickler, die andere Sprachen verwenden, haben sich Migrationen angesehen und ihre eigenen sprachspezifischen Versionen implementiert. Ich kenne Ruckusing , ein PHP-Migrationssystem, das den Migrationen von Rails nachempfunden ist; es könnte das sein, wonach Sie suchen.