Antwort an „jensp“ verfassen

Moin,

Hall zusammen,

ich habe zwei Projekte, die jeweils programmiertechnisch Ihre eigenen Tabellen in eine Datenbank migrieren. Das Problem ist nun, dass man hier zwei Migrationspläne hat, die sich gegenseitig auf die Füße treten. Das heißt, man kann jede Projekt-Tabellenreihe alleine in die Datenbankbank migrieren. Die jeweils zweite Migration bricht ab mit der Fehlermeldung:

critical errors while migrating database: Unable to create migration plan because of XXXXXXXX: unknown migration in database

Ist dieses Problem schon jemandem bekannt?

Rückfrage: Nutzen diese Projekte ein Framework wie Symfony, Laravel oder ähnliches?

Falls ja ist das Problem, so lese ich es aus der Beschreibung jedenfalls heraus, dass du zwei Anwendungen hast, die die gleiche Datenbank nutzen sollen.

Das wird, sofern DB-Migrations-Tools genutzt werden nicht funktionieren. Frameworks wie Symfony etc. erwarten in der Regel das eine Anwendung auch eine eigene Datenbank hat. Die Datenbanken können natürlich alle auf dem gleichen Datenbank-Server liegen, aber es müssen zwei verschiedene Datenbanken sein.

Das Migrations-Tool wird vermutlich eine Tabelle anlegen, in der alle angewendeten Migrationen gespeichert sind. Wenn man jetzt auf die gleiche DB die Migrationen einer anderen Anwendung anwendet, stellt das Tool fest: Es gibt hier schon eine History von angewendeten Migrationen. Dann schaut es nach welche Migrationen schon angewendet wurden, um nur die noch nicht angewendeten Migrationen anzuwenden. In deinem Fall stellt es das Migrations-Tool aber, wenn die Migrationen für das zweite Projekt angewendet werden sollen, fest: Die Migrationen die in der History-Tabelle stehen kenn ich nicht. Hier stimmt was nicht, ich steige jetzt aus.

Viele Grüße

Jens

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen