Hallo zusammen,
gibt es die Möglichkeit, in einem eigenen Bundle ein Migrationsscript so zu registrieren, dass es nach dem aktualisieren des Schemas ausgeführt wird, aber vor dem Löschen von Spalten und Tabellen, wenn man die Option "Alle Änderungen inklusive Löschungen anwenden." im Tag-Manager angehakt hat?
Mit dem neuen Major Relase meines Bundles hat sich vieles an der Datenbank-Struktur geändert. Die Tabelle "tl_gs_home" gibt es nicht mehr. Stattdessen liegen die Daten jetzt in "tl_gs_address".
Ein Migrations-Script sorgt dafür, dass die Daten von "tl_gs_home" in "tl_gs_address" verschoben werden. Wenn das Häkchen nicht gesetzt ist, funktioniert das Migrations-Script tadellos. Wenn das Häkchen gesetzt wurde, sind die Daten weg, da "tl_gs_home" gelöscht wurde, bevor das Migrationsscript hier greift. Man kann das Problem theoretisch umgehen, wenn man es über die Kommandozeile oder über zwei Anläufe im Contao-Manager macht.
contao:migrate --schema-only <-- Legt die neue Tabelle an
contao:migrate --migrations-only <-- Schiebt die Daten von alter Tabelle in neue Tabelle
contao:migrate --schema-only --with-deletes <-- Löscht die alte Tabelle
Nun wird es im Eifer des Gefechts aber sicher dennoch passieren, dass man mal ein Update mit "--with-deletes" ausführt, wodurch die Daten dann gleich weg wären.
Gibt es hier eine Möglichkeit, die Migration vor dem Löschen auszuführen, oder führt kein Weg daran vorbei, die alte Tabelle in der Datenbank zu behalten?
Danke und LG