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

    Error beim Update auf 0.9.9

    Scheduled Pinned Locked Moved Entwicklung
    29 Posts 3 Posters 8.6k Views 1 Watching
    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.
    • R Offline
      rgarcia
      last edited by

      Habe nun die FOREIGN KEYs für isys_dependency eingelesen.
      Nun bekomme ich den Fehler das die für isys_file_version fehlen.

      isys_exception_database : Query error: 'ALTER TABLE isys_file_version DROP FOREIGN KEY isys_file_version_ibfk_2': Error on rename of './idoit_mandant/isys_file_version' to './idoit_mandant/#sql2-ae6-7b' (errno: 152) Backtrace: #0 _get_backtrace() called at [/srv/www/htdocs/idoit/src/classes/exceptions/isys_exception_database.class.php:24] #1 isys_exception_database->__construct(Query error: 'ALTER TABLE isys_file_version DROP FOREIGN KEY isys_file_version_ibfk_2': Error on rename of './idoit_mandant/isys_file_version' to './idoit_mandant/#sql2-ae6-7b' (errno: 152), Array ([server] => 5.0.67,[host] => Localhost via UNIX socket,[client] => 5.0.67,[proto] => 10)) called at [/srv/www/htdocs/idoit/src/classes/components/isys_component_database.class.php:182] #2 isys_component_database->query(ALTER TABLE isys_file_version DROP FOREIGN KEY isys_file_version_ibfk_2) called at [/srv/www/htdocs/idoit/src/classes/components/isys_component_dao.class.php:253] #3 isys_component_dao->update(ALTER TABLE isys_file_version DROP FOREIGN KEY isys_file_version_ibfk_2) called at [/srv/www/htdocs/idoit/updates/classes/isys_update.class.php:1003] #4 isys_update->update_database(/srv/www/htdocs/idoit/updates/versions/v0.9.9/update_data.xml, isys_component_database Object ([] => idoit_mandant,[] => Resource id #96,[] => isys_component_database_transaction_manager Object ([] => isys_component_database Object ( RECURSION,[] => 1),[] => root,[] => PW,[] => localhost,[] => 3306), 1) called at [/srv/www/htdocs/idoit/updates/classes/isys_update.class.php:245] #5 isys_update->update(idoit_system, Array ([9] => idoit_mandant)) called at [/srv/www/htdocs/idoit/updates/update.inc.php:451] #6 include_once(/srv/www/htdocs/idoit/updates/update.inc.php) called at [/srv/www/htdocs/idoit/index.php:278] (Extended Information: array ( 'server' => '5.0.67', 'host' => 'Localhost via UNIX socket', 'client' => '5.0.67', 'proto' => 10, ))

      Wenn ich jedoch nun den Befehl zu einlesen der FOREIGN KEYs für diese Tabelle ausführe erhalte ich folgende Meldung:

      ALTER TABLE isys_file_version
      ADD CONSTRAINT isys_file_version_ibfk_2 FOREIGN KEY (isys_file_version__isys_obj__id) REFERENCES isys_obj (isys_obj__id) ON DELETE CASCADE ON UPDATE CASCADE,
      ADD CONSTRAINT isys_file_version_ibfk_1 FOREIGN KEY (isys_file_version__isys_file_physical__id) REFERENCES isys_file_physical (isys_file_physical__id) ON DELETE NO ACTION ON UPDATE NO ACTION;

      Fehler:

      #1452 - Cannot add or update a child row: a foreign key constraint fails (idoit_mandant/#sql-ae6_a6, CONSTRAINT isys_file_version_ibfk_2 FOREIGN KEY (isys_file_version__isys_obj__id) REFERENCES isys_obj (isys_obj__id) ON DELETE CASCADE ON UPDATE CASCADE)

      1 Reply Last reply Reply Quote 0
      • D Offline
        dbluemer
        last edited by

        Hmm,
        also den Grund dafür, dass bei Dir anscheinend kein einziger Foreign Key definiert ist, kann man aus der Ferne schlecht abschätzen.

        Hat mal eine Migration von MyISAM auf InnoDB oder von MySQL4 auf MySQL5 stattgefunden? Könnte ja sein, wenn Du i-doit schon seit v0.9.1 einsetzt.

        Schau' doch mal nach, ob es auf irgendeiner Tabelle überhaupt einen Foreign Key gibt.

        1 Reply Last reply Reply Quote 0
        • R Offline
          rgarcia
          last edited by

          Also in den Tabelle isys_dependency, isysgui_catg, isys_contact, isys_obj sind keine FOREIGN KEYs definiert 😞
          Kann mir ehrlich gesagt nicht erklären wie das passieren konnte … Es hat jedenfalls bisher noch keine Migration von MyISAM auf InnoDB stattgefunden. Auch ein Umstieg von MySQL v4  auf v5 hat nicht stattgefunden v5 wird bereits seit Anfang an eingesetzt.

          Hoffentlich lässt sich das ganze noch retten hab schon 300 Objekte eingetragen ... Und die Lizenz Verwaltung über i-doit kommt auch immer mehr ins rollen.
          Vielen Dank schon mal für den tollen Support den man von euch bei echt jedem Problem bekommt 🙂

          1 Reply Last reply Reply Quote 0
          • dsD Offline
            ds
            last edited by

            Also was du mal versuchen könntest (Kann aber vielleicht aufgrund der bisher nicht gesetzten foreign keys schief gehen :() ist, in einer Testumgebung eine frische 0.9.8-3 installieren. Danach nur die "DATEN" in die 0.9.8-3 importieren (Exportieren zB mit phpMyAdmin und REPLACE INTO wählen). Und dann darauf das 0.9.9 update nochmal machen.
            Ist nur ne Idee, ich weiss nicht so genau ob das replacen funktioniert 🙂

            1 Reply Last reply Reply Quote 0
            • R Offline
              rgarcia
              last edited by

              Du meinst also unter PHPmyAdmin Export dort nur Daten und unten REPLACE auswählen.
              Anschließend über die neue Datenbank importieren.
              oder?

              1 Reply Last reply Reply Quote 0
              • dsD Offline
                ds
                last edited by

                Genau, also über die neue frische Mandanten Datenbank der 0.9.8-3

                1 Reply Last reply Reply Quote 0
                • R Offline
                  rgarcia
                  last edited by

                  Erhalte beim Import folgenden Fehler

                  Error

                  SQL query:

                  REPLACE INTO isys_catd_distributor (isys_catd_distributor__id, isys_catd_distributor__isys_obj__id, isys_catd_distributor__isys_catd_dns__id, isys_catd_distributor__isys_catd_sanpool__id, isys_catd_distributor__isys_catd_drive__id, isys_catd_distributor__isys_catd_version__id) VALUES (1, 2, 1, 1, 1, 1), (2, 3, 2, 2, 2, 2), (3, 4, 3, 3, 3, 3), (4, 5, 4, 4, 4, 4), (5, 6, 5, 5, 5, 5), (6, 7, 6, 6, 6, 6), (7, 8, 7, 7, 7, 7), (8, 9, 8, 8, 8, 8), (9, 10, 9, 9, 9, 9), (10, 11, 10, 10, 10, 10), (11, 12, 11, 11, 11, 11), (12, 13, 12, 12, 12, 12), (13, 14, 13, 13, 13, 13), (14, 15, 14, 14, 14, 14), (15, 16, 15, 15, 15, 15), (16, 17, 16, 16, 16, 16), (17, 18, 17, 17, 17, 17), (18, 19, 18, 18, 18, 18), (19, 20, 19, 19, 19, 19), (20, 21, 20, 20, 20, 20), (21, 22, 21, 21, 21, 21), (22, 23, 22, 22, 22, 22), (23, 24, 23, 23, 23, 23), (24, 25, 24, 24, 24, 24), (25, 26, 25, 25, 25, 25), (26, 27, 26, 26, 26, 26), (27, 28, 27, 27, 27, 27), (28, 29, 28, 28, 28, 28), (29, 30, 29, 29, 29, 29), (30, 31, 30[…]

                  MySQL said: Documentation
                  #1452 - Cannot add or update a child row: a foreign key constraint fails (idoit_data02/isys_catd_distributor, CONSTRAINT isys_catd_distributor_ibfk_1 FOREIGN KEY (isys_catd_distributor__isys_catd_version__id) REFERENCES isys_catd_version (`isys_catd_version_)

                  1 Reply Last reply Reply Quote 0
                  • dsD Offline
                    ds
                    last edited by

                    Ok hatte ich mir fast gedacht.. Das geht dann so nicht 😞

                    Was du aber noch versuchen kannst ist bei dem Replace Export vom PHPMyAdmin die Fremdschlüsselüberprüfung zu deaktivieren. Vielleicht funktionierts dann

                    1 Reply Last reply Reply Quote 0
                    • R Offline
                      rgarcia
                      last edited by

                      Ok der Datenimport hat nun geklappt werde nun ein Update fahren und dann das Test System auf Live System umstellen.

                      Danke erstmal 🙂

                      1 Reply Last reply Reply Quote 0
                      • dsD Offline
                        ds
                        last edited by

                        Hey cool :-):-):-):-):-):-)

                        1 Reply Last reply Reply Quote 0
                        • R Offline
                          rgarcia
                          last edited by

                          Also folgende neue Probleme haben sich ergeben.

                          Die Suchfunktion liefert keine Ordentlich Ergebnisse … Suche ich nach Mueller erhalte ich keiner Ergebnisse obwohl Objekte gibt welchen der Kontak Mueller zugewiesen ist.
                          Zudem werden unter Moduel sämtliche Module doppelt aufgelistet.
                          Und in der Kategorie Clients ist ebenfalls im Menü links jeder Eintrag doppelt.

                          Ansonsten hat es beim Umstieg auf Version 0.9.9 keine weiteren Probleme gegeben.

                          idoit099_auswahldoppelt.png
                          idoit099_moduledoppelt.png

                          1 Reply Last reply Reply Quote 0
                          • dsD Offline
                            ds
                            last edited by

                            Oh ich glaube das Replace into hat bei den Modulen nicht so ganz funktioniert. Versuch mal im phpmyadmin in der Tabelle isys_module alle neuen doppelten Module zu entfernen und danach am besten cache im temp/ Ordner löschen
                            Achso in Tabelle isysgui_catg und isysgui_cats müsstest du das Ganze dann auch machen 😞

                            1 Reply Last reply Reply Quote 0
                            • R Offline
                              rgarcia
                              last edited by

                              So also nun sind die doppelten Einträge bei den Modulen verschwunden.
                              Jedoch habe ich noch immer doppelte Einträge bei den Unterpunkten des Clients wie auf dem ersten Screenshot zu sehen ist.
                              Und ja die Suchfunktion ist bei mir buggy.

                              1 Reply Last reply Reply Quote 0
                              • dsD Offline
                                ds
                                last edited by

                                Ich denke das Replace Into hat an einigen stellen nicht ganz korrekt überschrieben.. Vielleicht versuchen wir doch lieber den Ansatz wieder zurueck auf 0.9.8-3 zu gehen und dort die fehlenden Foreign Keys aus der setup/sql/idoit_data.sql (ganz unten, wichtig ist hier die Datei aus der 0.9.8-3 zu verwenden) hinzuzufügen. Wenn welche existieren einfach den nächsten eintragen.
                                Und wenn die alle drin sind nochmal das 0.9.9 update ausprobieren

                                1 Reply Last reply Reply Quote 0
                                • dsD Offline
                                  ds
                                  last edited by

                                  Ich hab mal versucht das zu reproduzieren und ich habs geschafft ähnliche Fehler wie bei dir hinzubekommen und habe ein neues Update für einen solchen Fall gepackt:
                                  http://www.i-doit.org/downloads/updates/idoit-0.9.9-update-FK-FiX.zip

                                  Versuch mal alles wieder auf 0.9.8-3 zurueck zu setzen und das genannte Update einzuspielen. Installiert sich wie die anderen auch, also einfach ins i-doit dir entpacken

                                  1 Reply Last reply Reply Quote 0
                                  • R Offline
                                    rgarcia
                                    last edited by

                                    Hallo ds,
                                    erstmal vielen Dank für die Klasse Unterstützung  🙂

                                    Nun zum aktuellen Stand.

                                    1. Habe mit deiner FK-FiX Update File ein Update probiert dabei erhalte ich die selbe Fehlermeldung wie anfangs auch. Habe auch bereits überprüft das auch wirklich die richtigen Updates Files verwendet werden.

                                    isys_exception_database : Query error: 'ALTER TABLE isys_catp_ip_list DROP FOREIGN KEY isys_catp_ip_list_ibfk_2': Error on rename of './idoit_mandant/isys_catp_ip_list' to './idoit_mandant/#sql2-529-65b' (errno: 152) Backtrace: #0 _get_backtrace() called at [/var/www/idoit02/src/classes/exceptions/isys_exception_database.class.php:24] #1 isys_exception_database->__construct(Query error: 'ALTER TABLE isys_catp_ip_list DROP FOREIGN KEY isys_catp_ip_list_ibfk_2': Error on rename of './idoit_mandant/isys_catp_ip_list' to './idoit_mandant/#sql2-529-65b' (errno: 152), Array ([server] => 5.1.37-1ubuntu5,[host] => Localhost via UNIX socket,[client] => 5.1.37,[proto] => 10)) called at [/var/www/idoit02/src/classes/components/isys_component_database.class.php:182] #2 isys_component_database->query(ALTER TABLE isys_catp_ip_list DROP FOREIGN KEY isys_catp_ip_list_ibfk_2) called at [/var/www/idoit02/src/classes/components…...[/quote]

                                    1. Ich habe zudem Probiert wie in deinem vorherigem Beitrag die Foreignkeys Schritt für Schritt einzupflegen (In die Datenbank in der idoit noch auf Version 0.9.8.3 lief). Dabei ließen sich ein groß teil Problemlos einpflegen. Bei einigen jedoch kam es zu Problemen. Diese sehen wie folgt aus:

                                    –------
                                    ERROR
                                    #1452 - Cannot add or update a child row: a foreign key constraint fails (idoit_mandant.#sql-529_387, CONSTRAINT isys_catg_application_list_ibfk_2 FOREIGN KEY (isys_catg_application_list__isys_obj__id) REFERENCES isys_obj (isys_obj__id) ON DELETE NO ACTI)

                                    ALTER TABLE isys_catg_application_list
                                     ADD CONSTRAINT isys_catg_application_list_ibfk_1 FOREIGN KEY (isys_catg_application_list__isys_catg_application__id) REFERENCES isys_catg_application (isys_catg_application__id) ON DELETE NO ACTION ON UPDATE NO ACTION,
                                     ADD CONSTRAINT isys_catg_application_list_ibfk_2 FOREIGN KEY (isys_catg_application_list__isys_obj__id) REFERENCES isys_obj (isys_obj__id) ON DELETE NO ACTION ON UPDATE NO ACTION;
                                    –-----

                                    –-----
                                    ERROR
                                    #1452 - Cannot add or update a child row: a foreign key constraint fails (idoit_mandant.#sql-529_393, CONSTRAINT isys_catg_global_list_ibfk_5 FOREIGN KEY (isys_catg_global_list__isys_contact__id) REFERENCES isys_contact (isys_contact__id) ON DELETE SET N)

                                    ALTER TABLE isys_catg_global_list
                                     ADD CONSTRAINT isys_catg_global_list_ibfk_1 FOREIGN KEY (isys_catg_global_list__isys_purpose__id) REFERENCES isys_purpose (isys_purpose__id) ON DELETE NO ACTION ON UPDATE NO ACTION,
                                     ADD CONSTRAINT isys_catg_global_list_ibfk_2 FOREIGN KEY (isys_catg_global_list__isys_catg_global__id) REFERENCES isys_catg_global (isys_catg_global__id) ON DELETE NO ACTION ON UPDATE NO ACTION,
                                     ADD CONSTRAINT isys_catg_global_list_ibfk_3 FOREIGN KEY (isys_catg_global_list__isys_catg_global_category__id) REFERENCES isys_catg_global_category (isys_catg_global_category__id) ON DELETE NO ACTION ON UPDATE NO ACTION,
                                     ADD CONSTRAINT isys_catg_global_list_ibfk_4 FOREIGN KEY (isys_catg_global_list__isys_guarantee_period_unit__id) REFERENCES isys_guarantee_period_unit (isys_guarantee_period_unit__id) ON DELETE NO ACTION ON UPDATE NO ACTION,
                                     ADD CONSTRAINT isys_catg_global_list_ibfk_5 FOREIGN KEY (isys_catg_global_list__isys_contact__id) REFERENCES isys_contact (isys_contact__id) ON DELETE SET NULL ON UPDATE NO ACTION;

                                    –-----

                                    An sich erhalte ich diesen Fehler bei allen restlich einzutragenden FOREIGN KEYs.
                                    Da bei der Installation des Updates immer die fehlenden FOREIGN KEYs der Tabelle isys_file_version an-gemeckert wurden und ich diese jedoch auf Grund des selben Fehler wie oben nicht einspielen konnte, habe ich diese Tabelle samt Inhalt gelöscht. Anschließend den CREATE Befehl aus der Installations-SQL Datei von Version 0.9.9 kopiert und auf der Datenbank ausgeführt. Danach ließen sich auch die FOREIGN KEYs für diese Tabelle einpflegen.

                                    Nun hat das Update erstmal geklappt jedoch fehlen mir noch einige FOREIGN KEY Verknüpfungen welche ich unten in der Datei angehängt habe.

                                    PS: Die Such Funktion scheint unter Version 0.9.9 nicht zu funktionieren, auch in eurem Demo System liefert eine suche nach Kontakt Zuordnung wie auch nach SYS_ID ein leeres Ergebnis.

                                    Schönes Wochenende euch allen 😉

                                    idoit_data_fehlende_FK.txt

                                    1 Reply Last reply Reply Quote 0
                                    • dsD Offline
                                      ds
                                      last edited by

                                      Die FK Fehler bekommst du wo genau ? Beim zurückspielen der 0.9.8-3 ??

                                      1 Reply Last reply Reply Quote 0
                                      • R Offline
                                        rgarcia
                                        last edited by

                                        Den FK Fehler erhalte ich wenn ich die FK Befehle aus der SQL Datei auf die Datenbank vom Versions Stand 0.9.8-3 zurück spielen möchte.

                                        1 Reply Last reply Reply Quote 0
                                        • dsD Offline
                                          ds
                                          last edited by

                                          Setz mal an den Anfang der FK Befehle folgendes statement:

                                          set foreign_key_checks = 0;

                                          1 Reply Last reply Reply Quote 0
                                          • R Offline
                                            rgarcia
                                            last edited by

                                            Wunderbar hat nun alles funktioniert.
                                            Update auf 0.9.9 ist somit nun erfolgreich gelaufen vielen Dank!

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