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

      Nun erhalte ich folgenden Fehler:

      isys_exception_database : Query error: 'RENAME TABLE isys_ls_language TO isys_language': Table 'isys_language' already exists 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: 'RENAME TABLE isys_ls_language TO isys_language': Table 'isys_language' already exists, 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(RENAME TABLE isys_ls_language TO isys_language) called at [/srv/www/htdocs/idoit/src/classes/components/isys_component_dao.class.php:253] #3 isys_component_dao->update(RENAME TABLE isys_ls_language TO isys_language) 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_sys.xml, isys_component_database Object ([] => idoit_system,[] => Resource id #11,[] => 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:211] #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, ))

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

        Du hast beim zurückspielen der Datenbank sicher einfach nur importiert anstatt die kaputte DB zu löschen oder ?

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

          Ja da hast du recht habe eben die Datenbank nochmal komplett gelöscht und anschließend den Befehl von oben ausgeführt.

          Nun erhalte ich folgenden Fehler beim Update:

          isys_exception_database : Query error: 'ALTER TABLE isys_dependency DROP FOREIGN KEY isys_dependency_ibfk_1': Error on rename of './idoit_mandant/isys_dependency' to './idoit_mandant/#sql2-9d9-66c' (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_dependency DROP FOREIGN KEY isys_dependency_ibfk_1': Error on rename of './idoit_mandant/isys_dependency' to './idoit_mandant/#sql2-9d9-66c' (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_dependency DROP FOREIGN KEY isys_dependency_ibfk_1) called at [/srv/www/htdocs/idoit/src/classes/components/isys_component_dao.class.php:253] #3 isys_component_dao->update(ALTER TABLE isys_dependency DROP FOREIGN KEY isys_dependency_ibfk_1) 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, ))

          Schade das es diesmal Probleme bereitet 😞

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

            Kann es sein, dass Du auf keiner einzigen Tabellen eine Foreign Key definiert hast?

            Ich frage mich gerade, woran das liegen mag, welcher MySQL-Version setzt Du ein?

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