Casablanca: Problem mit zwei Migrationen

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?

LG

  1. Hallo Casablanca,

    welches Datenbanksystem, welches Migrationstool ist das?

    Rolf

    --
    sumpsi - posui - obstruxi
    1. Hallo Rolf,

      MariaDB bzw. MySQL. Die Migrationen werden programmiertechnisch via MySQL Bibliotheken und im Hintergrund bei dem ersten Aufruf des Servers gestartet.

      Gruß

      1. Hallo Casablanca,

        programmiertechnisch

        vielleicht habe ich ja keine Ahnung vom MYSQL Betrieb, aber ich weiß immer noch nicht, WAS Du da eigentlich tust.

        Und da auch sonst keiner etwas sagt, scheine ich damit nicht so allein zu sein.

        Ist das irgend ein spezielles SQL Statement, das du da verwendest? Was meinst Du mit dem „ersten Aufruf des Servers“?

        Aber um deine Ausgangsfrage nicht zu ignorieren: nein, hab ich noch nicht gesehen. Weil ich vermutlich das, was du da tust, noch nie gemacht habe.

        Rolf

        --
        sumpsi - posui - obstruxi
      2. MariaDB bzw. MySQL. Die Migrationen werden programmiertechnisch via MySQL Bibliotheken und im Hintergrund bei dem ersten Aufruf des Servers gestartet.

        Mit den dünnen Angaben geh zum Wahrsager oder mach einen Termin mit jemanden, der sowas kann.

        90€/Stunde(netto) + Reisespesen, hab aber in den nächsten beiden Wochen nur am Wochenende Zeit und nehme mal an, dass das fertig werden soll. Also +30% Wochenendzulage, sagen wir 120 €/h (immer noch netto).

        Für weniger als 12h reise ich ich aber nicht an. Das Angebot gilt nur für Deutschland, meinetwegen noch Basel oder Salzburg.

        Auftragsangebot mit Telefonnummer eines gesprächsbereiten Ansprechpartners an joerg.reinholz via gmail.com.

        1. Hallo,

          Ich liebe die Leute, die nichts dazu beitragen können, Probleme zu lösen, außer immer zu meckern. Wenn du Fragen an mich hast, bitte frag einfach.

          1. Ich liebe die Leute, die nichts dazu beitragen können, Probleme zu lösen,

            Mir war natürlich klar, dass ich nach meiner herben Kritik daran, dass Du auch auf Nachfrage keine verwertbaren Informationen lieferst, vor Deiner „Liebe“ sicher bin. Sicher vor dieser „Liebe“ bin ich - nach Deinen Worten - aber auch, weil ich das Problem bei Kenntnis der relevanten Fakten wahrscheinlich lösen könnte (Es kommt tatsächlich auch darauf an, wie viel Du schon kaputt gemacht hast und ob Backups existieren.)

            Wenn du Fragen an mich hast, bitte frag einfach.

            Die hast Du hier schon mehrfach in Thread stehen:

            • Du sollst hinreichend genau beschreiben, was Du machst und mit welchen konkreten Fehlermeldungen das scheitert.
          2. Hallo,

            Ich liebe die Leute, die nichts dazu beitragen können, Probleme zu lösen, außer immer zu meckern.

            Du liebst also deinen Chef?

            Gruß
            Kalk

          3. Hallo Casablanca,

            Ich liebe die Leute, die nichts dazu beitragen können, Probleme zu lösen

            Das ist gut, dass Du Dich selbst liebst.

            Aber mich auch - denn ich kann, da ich nicht weiß, was Du tust, ebenfalls nichts beitragen.

            Möglicherweise gibt es Leute, die bei "Migrationen" sofort wissen, worum es geht. Ich aber nicht. Deswegen frage ich so dumm.

            Du hast einen Catch-Block erwähnt. Vielleicht zeigst Du mal den relevanten Code vor.

            Rolf

            --
            sumpsi - posui - obstruxi
            1. Hallo Rolf,

              ich glaube, dass dumme Bemerkungen hier fehl am Platz sind. Ich habe nämlich in meiner ersten Post ausdrücklich gefragt, ob dieses Problem bereits jemandem bekannt ist.

              Gruß

              1. Hallo,

                Ich habe nämlich in meiner ersten Post ausdrücklich gefragt, ob dieses Problem bereits jemandem bekannt ist.

                ja, das stimmt - aber trotz sehr konkreter Nachfrage hast du noch nicht beschrieben, mit welchen Tools du arbeitest, welche Anweisungen du damit verwendest und wie die Fehlermeldungen genau lauten.

                Dass sich Jörg da ein bisschen angepisst fühlt, kann ich verstehen.
                Er würde gern helfen, könnte es vielleicht auch - aber ihm fehlt die nötige Info.

                Einen schönen Tag noch
                 Martin

                --
                Ich fürchte, ich brauche ein neues Portemonnaie. Das alte ist leer.
              2. Hallo Casablanca,

                ja, hast du. Das Problem hast Du aber nur angerissen. Natürlich hätten wir nun alle die Schulter zucken und "Nö" denken können. Werd ich demnächst wohl auch tun. Weil wir neugierig sind und helfen wollten, eine Lösung zu finden, haben wir versucht, unser Unwissen zu lüften. Und Du hast uns abtropfen lassen, was wenig Freude auslöste, und bissige Kommentare. Die Du jetzt dumm nennst, aber letztlich selbst getriggert hast.

                Ich hoffe, dass Du nun mit jensp Antwort Glück hast.

                Rolf

                --
                sumpsi - posui - obstruxi
  2. Hallo,

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

    Steht da tatsächlich „because of XXXXXXXX“ oder „because of $Projektname“ oder ganz was anderes?
    Und wer genau gibt diese Meldung aus?

    Gruß
    Kalk

    1. Hallo Kalk,

      es gibt einen Migrationsverzeichnis in jedem Projekt, die über mehreren durchnummerierten Migrationsdateien verfügt, genauso wenn man eine sehr große Datei Zippen will und diese in mehrere Zip-Dateien unterteil wird.

      1. Migrationsverzeichnis
      ----001_version_1_3_0.sql
      ----002_aaa.sql
      ----003_bbb.sql
      
       
      2. Migrationsverzeichnis
      ----001_version_5_1_0.sql
      ----002_aab.sql
      ----003_bcb.sql
      

      Die erste Datei ist die Einstiegsdatei in jedem Verzeichnis. Je nachdem welche Migration zuerst gestartet wird, meckert die Andere über die andere, fehlende erste Datei, mit der die sie nichts anfangen kann. die XXXXXXXXXX steht für jeweils erste Migrationsdatei in dem anderen Verzeichnis.

      Die Fehlermeldungen werden jeweils bei der zweiten Migrationsdatei im catch-Bereich über die Konsole ausgegeben.

      Gruß

  3. 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