Community

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Users
    • Search

    Fehler beim Update von 1.4.8 auf 1.5

    Betrieb
    3
    4
    352
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      Johannes last edited by

      Hallo,

      wir haben seit einiger Zeit i-doit open 1.4.8 (auf Windows) im Einsatz. Jetzt habe ich i-doit von Windows auf Linux umgezogen und wollte nach einem kurzen Test die Version bis auf 1.9 aktualisieren.

      Aber beim Update auf 1.5 kommt folgende Fehlermeldung:
      Adding index unique_title to isys_model_title.. Added. ERROR
      Database error : Query error: 'ALTER IGNORE TABLE isys_model_title ADD UNIQUE unique_title (isys_model_title__title, isys_model_title__isys_model_manufacturer__id)':Cannot delete rows from table which is parent in a foreign key constraint 'isys_catg_model_list_ibfk_6' of table 'isys_catg_model_list'

      Wenn ich das ignoriere und weitermache, dann laufen die Updates bis 1.9 fehlerfrei durch.

      Kann ich den Fehler beheben oder ignorieren?

      Danke und Grüße
      Johannes

      1 Reply Last reply Reply Quote 0
      • creiss
        creiss i-doit Kenner last edited by

        Hallo Johannes,

        das sieht für mich jetzt nicht tragisch aus. Du kannst aber die Foreign-Key-Checks vor dem Update deaktivieren:

        SET FOREIGN_KEY_CHECKS=0;

        Dann sollte die Meldung nicht auftreten. Ob du die Umgebung trotz der Meldung problemlos nutzen kannst, kann ich dir nicht sicher beantworten, weswegen ich das Raten mal sein lasse. 😉

        Lieben Gruß
        Christian

        NEU - i-doit und IT-Dokumentation bei YouTube: https://www.youtube.com/channel/UCK9fitbW5J1yhiDs5Dr3YQw
        Komplett-Strategie: https://i-doit-trainings.de/it-dokumentation-komplett-strategie/
        i-doit Mastery – https://i-doit-trainings.de/i-doit-mastery

        1 Reply Last reply Reply Quote 0
        • dkirsten
          dkirsten last edited by

          Hi,

          um das mal etwas ausführlicher zu machen:

          Log Dich in das MySQL Kommandozeilentool ein. Dort schickst Du ein

          SET foreign_key_checks = 0;
          

          ab. Dann führst Du das Update erneut aus. Anschließend setzt Du das Kommando:

          SET foreign_key_checks = 1;
          

          um die Foreign Key Checks wieder zu aktivieren.

          Zur Erklärung: Die Foreign Key Checks sorgen für eine "saubere Verbindung" zwischen zwei Tabellen. Das Update will einen Teil einer Tabellenverbindung verändern, und das verhindert der Foreign Key Check. Warum auf Deiner Datenbank dieser Effekt zustande kommt, lässt sich so nicht genau sagen. Mach idealerweise ein Backup von der Datenbank und guck Dir nach dem Update die Funktion genau an. Die Tabellen, die betroffen sind, sind die Verknüpfungen von Modell und Hersteller. D.h. Du solltest überprüfen, ob nach dem Update alle Deine gepflegten Hersteller und Modelle noch so da sind, wie sie sein sollten.
          Wenn nicht, müssten wir gemeinsam anhand eines Datenbankdumps vom funktionierenden Zustand die Daten dort wieder neu befüllen.

          Viele Grüße,

          Daniel

          1 Reply Last reply Reply Quote 0
          • J
            Johannes last edited by

            Das Update hat funktioniert und so weit ich sehe sind auch Hersteller und Modelle richtig übernommen worden.

            Danke.

            1 Reply Last reply Reply Quote 0
            • First post
              Last post