Während der Entwicklung führe ich oft den Befehl schema:update
von Doctrine aus, um das Datenbankschema mit meinen sich ändernden Entitätsdefinitionen zu synchronisieren. Sobald ich bereit bin, ein Feature zu committen, möchte ich alle Änderungen in eine migration class aufrollen, die ich zu git committieren kann.Workflow zum Verwalten von Schemaänderungen mit Doctrine2
Das Problem ist, dass ich migrations:diff
ausführen muss, muss ich das Datenbankschema auf seinen Zustand zurücksetzen, bevor ich begann, mit schema:update
zu verwirren. Doing schema:drop
dann migrations:migrate
ist nicht gut, weil das Löschen des Schemas die Tabelle migration_versions
nicht fallen lässt. Das bedeutet, dass ich in MySQL gehen und alle Datenbanken manuell löschen muss, bevor ich die bestehenden Migrationen durchführe und die neue erstelle.
Es funktioniert, aber es fühlt sich an, als würde ich es falsch machen. Irgendwelche besseren Ideen?
Ich versuche, das gleiche herauszufinden. Haben Sie sich gefragt, ob Sie einen Workflow für die Verwaltung von Schemaänderungen mit Doctrine2 entwickelt haben? – Marcel