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

      Moin hier erstmal einige Informationen zum Server:

      PHP Version 5.2.11
      MySQL Version 5.0.67

      i-doit ist im Einsatz seit Version 0.9.1

      Habe das mal in der Datenbank überprüft und es ist in der tat so das bei isys_dependency ebenfalls kein FOREIGN KEY hinterlegt ist … 😞
      An sich sind die Updates bisher ja immer gut gelaufen ...

      1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post