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

    SQL Fehler beim Update auf 0.9.9

    Scheduled Pinned Locked Moved Betrieb
    19 Posts 5 Posters 4.9k 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.
    • G Offline
      gr
      last edited by

      Führe noch mal

      SHOW CREATE TABLE isys_catp_ip_list;

      aus.

      Und dann prüfe mal wie die key für den 2. Mandant definiert sind:

      KEY isys_catp_ip_list_FKIndex1 (isys_catp_ip_list__isys_catp_ip__id),
      KEY isys_catp_ip_list_FKIndex2 (isys_catp_ip_list__isys_ip_assignment__id)

      also:

      CREATE TABLE isys_catp_ip_list (
      isys_catp_ip_list__id int(10) unsigned NOT NULL auto_increment,
      isys_catp_ip_list__isys_ip_assignment__id int(10) unsigned default NULL,
      isys_catp_ip_list__isys_catp_ip__id int(10) unsigned NOT NULL default '0',
      isys_catp_ip_list__title varchar(255) collate utf8_unicode_ci default NULL,
      isys_catp_ip_list__description text collate utf8_unicode_ci,
      isys_catp_ip_list__status int(10) unsigned default '1',
      isys_catp_ip_list__property int(10) unsigned default '0',
      isys_catp_ip_list__hostname varchar(255) collate utf8_unicode_ci default NULL,
      isys_catp_ip_list__dhcp int(10) unsigned default '0',
      isys_catp_ip_list__address varchar(255) collate utf8_unicode_ci default NULL,
      isys_catp_ip_list__mask varchar(255) collate utf8_unicode_ci default NULL,
      isys_catp_ip_list__primary int(10) unsigned default NULL,
      isys_catp_ip_list__gateway varchar(255) collate utf8_unicode_ci default NULL,
      isys_catp_ip_list__dns_domain varchar(255) collate utf8_unicode_ci default NULL,
      isys_catp_ip_list__dns_server varchar(255) collate utf8_unicode_ci default NULL,
      isys_catp_ip_list__active int(10) unsigned default NULL,
      PRIMARY KEY  (isys_catp_ip_list__id),
      KEY isys_catp_ip_list_FKIndex1 (isys_catp_ip_list__isys_catp_ip__id),
      KEY isys_catp_ip_list_FKIndex2 (isys_catp_ip_list__isys_ip_assignment__id)
      ) ENGINE=InnoDB AUTO_INCREMENT=76 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

      1 Reply Last reply Reply Quote 0
      • S Offline
        smeissner
        last edited by

        hallo gr,

        ich fasse mal fix zusammen:

        firmenmandant:

        
        CREATE TABLE `isys_catp_ip_list` (
         `isys_catp_ip_list__id` int(10) unsigned NOT NULL auto_increment,
         `isys_catp_ip_list__isys_ip_assignment__id` int(10) unsigned default NULL,
         `isys_catp_ip_list__isys_catp_ip__id` int(10) unsigned NOT NULL default '0',
         `isys_catp_ip_list__title` varchar(255) collate utf8_unicode_ci default NULL,
         `isys_catp_ip_list__description` text collate utf8_unicode_ci,
         `isys_catp_ip_list__status` int(10) unsigned default '1',
         `isys_catp_ip_list__property` int(10) unsigned default '0',
         `isys_catp_ip_list__hostname` varchar(255) collate utf8_unicode_ci default NULL,
         `isys_catp_ip_list__dhcp` int(10) unsigned default '0',
         `isys_catp_ip_list__address` varchar(255) collate utf8_unicode_ci default NULL,
         `isys_catp_ip_list__mask` varchar(255) collate utf8_unicode_ci default NULL,
         `isys_catp_ip_list__primary` int(10) unsigned default NULL,
         `isys_catp_ip_list__gateway` varchar(255) collate utf8_unicode_ci default NULL,
         `isys_catp_ip_list__dns_domain` varchar(255) collate utf8_unicode_ci default NULL,
         `isys_catp_ip_list__dns_server` varchar(255) collate utf8_unicode_ci default NULL,
         `isys_catp_ip_list__active` int(10) unsigned default NULL,
         PRIMARY KEY  (`isys_catp_ip_list__id`),
         KEY `isys_catp_ip_list_FKIndex1` (`isys_catp_ip_list__isys_catp_ip__id`),
         KEY `isys_catp_ip_list_FKIndex2` (`isys_catp_ip_list__isys_ip_assignment__id`)
        ) ENGINE=InnoDB AUTO_INCREMENT=76 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
        
        

        spielemandant

        
        CREATE TABLE `isys_catp_ip_list` (
         `isys_catp_ip_list__id` int(10) unsigned NOT NULL auto_increment,
         `isys_catp_ip_list__isys_ip_assignment__id` int(10) unsigned default NULL,
         `isys_catp_ip_list__isys_catp_ip__id` int(10) unsigned NOT NULL default '0',
         `isys_catp_ip_list__title` varchar(255) collate utf8_unicode_ci default NULL,
         `isys_catp_ip_list__description` text collate utf8_unicode_ci,
         `isys_catp_ip_list__status` int(10) unsigned default '1',
         `isys_catp_ip_list__property` int(10) unsigned default '0',
         `isys_catp_ip_list__hostname` varchar(255) collate utf8_unicode_ci default NULL,
         `isys_catp_ip_list__dhcp` int(10) unsigned default '0',
         `isys_catp_ip_list__address` varchar(255) collate utf8_unicode_ci default NULL,
         `isys_catp_ip_list__mask` varchar(255) collate utf8_unicode_ci default NULL,
         `isys_catp_ip_list__primary` int(10) unsigned default NULL,
         `isys_catp_ip_list__gateway` varchar(255) collate utf8_unicode_ci default NULL,
         `isys_catp_ip_list__dns_domain` varchar(255) collate utf8_unicode_ci default NULL,
         `isys_catp_ip_list__dns_server` varchar(255) collate utf8_unicode_ci default NULL,
         `isys_catp_ip_list__active` int(10) unsigned default NULL,
         PRIMARY KEY  (`isys_catp_ip_list__id`),
         KEY `isys_catp_ip_list_FKIndex1` (`isys_catp_ip_list__isys_catp_ip__id`),
         KEY `isys_catp_ip_list_FKIndex2` (`isys_catp_ip_list__isys_ip_assignment__id`)
        ) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
        
        

        Was komisch ist: Der Spielemandant hat 302 Tabellen, der Firmenmandant 303

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

          Das sind nun Auszüge aus der fehlerhaft geupdateten DB oder von einem 0.9.8-3 backup ?

          1 Reply Last reply Reply Quote 0
          • S Offline
            smeissner
            last edited by

            das ist der Auzug aus der aktuellen datenbank (Versionsstand 0.9.8-3)

            1 Reply Last reply Reply Quote 0
            • P Offline
              pfranke
              last edited by

              Hallo an alle.
              Ich denke ich habe das Problem gelöst bzw. umgangen.
              Die lösung ist:
              1. Ein sauberes (leeres) I-doit System (V. 0.9.8-3 ) aufsetzen
              2. Das alte System (gefüllt) backupen und updaten. –> geht schief
              3. An der Fehlermeldung die "defekte" tabelle auslesen
              4. Altes System mit backup zurücksetzen
              5. Mit php-myadmin die "Problemtabelle" aus dem Sauberen System exportiern (mit Keys)
              6. Mit php-myadmin die Inserts aus der "Problemtabelle" im gefülten System exportiern
              7. Die "Problemtabelle" im alten System löschen, mit export aus dem sauberen System wieder erstellen und mit dem export aus dem gefülten System wieder befüllen.
              8. Die Schritte 1-7 gegebenenfalls wiederholen (bei mir waren ca. acht Tabellen betroffen)

              Irgendwann konnte das Datenbankupdate durchlaufen.
              Bei dem Punkt "migration" gab es nochmal Probleme in der Tabelle "isys_cats_lic_group". Er konnte wiedermal die Schlüssel nicht löschen weil das umbenennen fehlschlägt.
              Der lösungsweg von oben funktionierte hier nicht.
              Die Tabelle war bei mir relativ klein. Ich hab ich sie einfach lehr geräumt und das Update konnte komplett durchlaufen.

              Das Problem ist jetzt das ich Datenbankfehler bekomme wenn ich im Webinterface Arbeite.
              Beim öffnen eines Clients kommt beispielsweise:

              isys_exception_database : Query error: 'SELECT isys_catg_overview_list__id FROM isys_catg_overview_list WHERE (isys_catg_overview_list__isys_obj__id = '36') LIMIT 1;': Unknown column 'isys_catg_overview_list__isys_obj__id' in 'where clause'
              

              Hat jemand ne Idee?

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

                ALTER TABLE  isys_catg_overview_list ADD  isys_catg_overview_list__isys_obj__id  isys_catg_overview_list__isys_obj__id INT( 10 ) UNSIGNED NULL DEFAULT NULL;

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

                  Du hättest das hier auch probieren können: http://www.i-doit.org/forum/index.php/topic,1457.0.html

                  1 Reply Last reply Reply Quote 0
                  • P Offline
                    pfranke
                    last edited by

                    Danke erstmal.

                    Ich hab beides gerade Probiert.
                    Bei meiner etwas beschädigten 0.9.9 bringt das fix garnichts. Es läuft zwar durch behebt aber nicht mein Problem.
                    bei einer v0.9.8.3 bekomme ich nur ein:
                    "Fatal error: Call to undefined method isys_component_database::get_database() in /var/www/i-doit/updates/classes/isys_update.class.php  on line 1217"
                    im Browser geliefert
                    😞

                    Der SQL-befehl ist laut mysql syntaktisch falsch.
                    Ich hab ein wenig probiert und glaube jetzt der sollte so heißen:

                    ALTER TABLE  `isys_catg_overview_list` ADD  `isys_catg_overview_list__isys_obj__id` INT( 10 ) UNSIGNED NULL DEFAULT NULL;
                    

                    Der befehl wird akzeptiert und ich bekomme im Webinterface einen neuen Fehler:

                    isys_exception_database : Query error: 'SELECT * FROM isys_catg_application_list LEFT JOIN isys_connection ON isys_connection__id = isys_catg_application_list__isys_connection__id LEFT JOIN isys_obj ON isys_connection__isys_obj__id = isys_obj__id WHERE TRUE AND (isys_catg_application_list__isys_obj__id = '36') AND (isys_catg_application_list__id = '5')': Unknown column 'isys_catg_application_list__isys_connection__id' in 'on clause' 
                    
                    1 Reply Last reply Reply Quote 0
                    • dsD Offline
                      ds
                      last edited by

                      Dann wurde die Migration bei dir leider nicht richtig durchgeführt. Du musst wohl leider nochmal reverten, den Fehler den du bei der Migration hattest zuerst beheben und dann das Update auf die 0.9.9 ausführen

                      1 Reply Last reply Reply Quote 0
                      • P Offline
                        pfranke
                        last edited by

                        Ich habe noch den DB-Dump aus v 9.8.3.
                        Der fix v0.9.9-fk-cleanup bringt mir allerdings den "fatal error" aus meinem letzten Post.
                        Wie behebe ich jetzt die Probleme auf der DB?
                        es waren vollgende Tabellen betroffen:
                        Datenbank update
                        isys_catp_ip_list
                        isys_catg_nagios_list
                        isys_dependency
                        isys_nagios_contacts
                        isys_file_version

                        Migration
                        isys_cats_lic_list
                        Es ist immer der bekannte fehler bei dem die Keys nicht gelöscht werden können.

                        1 Reply Last reply Reply Quote 0
                        • P Offline
                          pfranke
                          last edited by

                          Hat niemand eine Lösung?

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