Ankündigung

Einklappen
Keine Ankündigung bisher.

"Die Datenbank sollte geupdated werden" verschwindet nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • "Die Datenbank sollte geupdated werden" verschwindet nicht

    Hallo liebes Forum,

    ich erhalte immer wieder die bekannte Nachricht, dass die DB ein Update benötigt. Ich kann meine CC-Konfiguration auswählen und auf Ausführen klicken. Dann wird mir angezeigt, dass Datenbankfelder bearbeitet wurden:

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Bildschirm­foto 2023-04-19 um 18.41.13.png
Ansichten: 259
Größe: 255,0 KB
ID: 27388

    Allerdings taucht die Nachricht immer wieder auf. Cache, und User Session-Daten mehrfach geleert.

    Kann es denn sein, dass die Änderungen von der DB nicht umgesetzt oder rückgängig gemacht werden?

    Über das Install-Tool sehe ich die Änderungen nicht.

    Grüße aus dem Münsterland!
    Angehängte Dateien

  • #2
    Wenn du die Änderungen im Install-Tool nicht siehst, wo siehst du sie denn?
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Direkt im Contao-Backend. Über euer Plugin. Mit dem Install-Tool meine ich /contao/install

      Kommentar


      • #4
        Zitat von kellermann Beitrag anzeigen
        Direkt im Contao-Backend. Über euer Plugin. Mit dem Install-Tool meine ich /contao/install
        Deaktiviere mal den DCA-Cache von CC in den Systemeinstellungen. Ich kenne das Problem in einigen sehr seltenen Fällen, wenn sich die Contao Version geändert hat. Die Aufforderung ist imgrunde nichts sagend, die changes laufen auf identische Felddefinitionen.

        Welche Änderungen hat du denn vorher ausgeführt am System, dass es nun zu diesen Meldungen kommt?
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Moin Tim,

          ich hake hier mal ein, weil ich das gleiche Problem mit den nicht verschwindenden Hinweisen habe.

          Ich habe ein Upgrade von 4.9 auf 4.13 durchgeführt und dabei auch CC/CE auf 4.5.8 aktualisiert. Den von dir erwähnten DCA-Cache in den CC Einstellungen habe ich ebenfalls deaktiviert, das ändert aber nichts. Einziger Unterschied zu kellermann: Bei mir sind die Änderungen auch im Installtool zu sehen.

          Hier ein Beispiel:

          Code:
          ALTER TABLE cc_bsptabelle CHANGE pid `pid` int(10) unsigned NOT NULL default '0';
          Zur Installation:
          • Contao 4.13.20
          • CE/CC 4.5.8
          • MySQL 8
          Kannst du das Problem nachvollziehen? Gibt es zur Not einen vorläufigen Workaround?

          Viele Grüße,
          Dennis

          Kommentar


          • #6
            Von 4.9 auf 4.13 hat Contao einige Doctrine Änderungen mitgemacht in der DB. Event. Mysql auf 5 setzen. Zur Not direkt in PHPmyadmin ändern.
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Zur Not direkt in PHPmyadmin ändern
              Das habe ich bereits versucht. Aber den obigen Befehl in PHPMyAdmin zu verwenden, hat nichts geändert (was müsste ich stattdessen verwenden?). Da das Projekt mit Contao 4.9 bereits auf MySQL 8 lief, fällt es mir schwer, nun auf Version 5 zurückzugehen.

              Ich wundere mich, dass das Problem anscheinend nur bei so wenigen Personen auftritt. Ich würde eigentlich davon ausgehen, dass alle Installationen mit 4.13 in einer halbwegs aktuellen Serverumgebung betroffen sind.

              Vielleicht hast du noch eine Idee, ansonsten würde ich kurzfristig die Fehlermeldung unterdrücken und abwarten bis das Problem eurerseits mit einem Update gelöst wurde.

              Viele Grüße,
              Dennis

              Kommentar


              • #8
                Ohne konkrete Anhaltspunkte kann ich kein Update angehen . Es gab immer mal Fälle, wo vermeintliche Feldänderungen ausgeführt werden sollten. Es waren immer Einzelfälle.

                Leg mal ein neues Feld an und schau mal in phpmyadmin in welcher Form sich das neue Feld zu den hier bestehenden unterscheidet. Event. ist es die Kollation, die sich im Laufe von Contao Hauptversionen ebenfalls oft geändert hat und durch das Install-Tool nicht geändert wird.
                http://www.premium-contao-themes.com

                Kommentar


                • #9
                  Das ist ein guter Hinweis.

                  Mir ist gerade aufgefallen, dass es sich bei allen Feldern um Nummernfelder handelt. Die meisten legt der CC an und ich habe keinen Einfluss darauf:

                  Code:
                  ALTER TABLE cc_bsptabelle CHANGE pid `pid` int(10) unsigned NOT NULL default '0';
                  ALTER TABLE cc_bsptabelle CHANGE tstamp `tstamp` int(10) unsigned NOT NULL default '0';
                  ALTER TABLE cc_bsptabelle CHANGE sorting `sorting` int(10) unsigned NOT NULL default '0';
                  Mein eigenes Feld ist genauso wie das soeben neu erstellte Feld my_sorting betroffen:

                  Code:
                  ALTER TABLE cc_bsptabelle CHANGE cc_sorting `cc_sorting` int(10) unsigned NOT NULL default '0';
                  ALTER TABLE cc_bsptabelle CHANGE my_sorting `my_sorting` int(10) unsigned NOT NULL default '0';
                  Es gibt also keinen Unterschied zwischen einem bereits erstellten Feld und einen neu hinzugefügten Feld. Sie haben beide das gleiche Problem.

                  Kommentar


                  • #10
                    Ich glaube Mysql 8 handelt integer Felder anders. Ich schau mal, dass ich auf einen mysql 8 server komme. Unsere Testserver sind all-inkl. Dort ist Mariadb im Einsatz.
                    http://www.premium-contao-themes.com

                    Kommentar


                    • #11
                      Wenn ich das richtig sehe, dann kommt MySQL 8 nicht mit dem int(10) zurecht. Ich habe testweise mal bei den betroffenen Feldern in der DCAHelper.php die (10) entfernt. Dadurch verschwinden die DB-Update Aufforderungen. Damit hast du zumindest einen Anhaltspunkt.

                      Wie gesagt, ich denke das das Problem in allen MySQL 8 Installationen auftreten wird.

                      Kommentar


                      • #12
                        Zitat von denniserdmann Beitrag anzeigen
                        Wenn ich das richtig sehe, dann kommt MySQL 8 nicht mit dem int(10) zurecht. Ich habe testweise mal bei den betroffenen Feldern in der DCAHelper.php die (10) entfernt. Dadurch verschwinden die DB-Update Aufforderungen. Damit hast du zumindest einen Anhaltspunkt.

                        Wie gesagt, ich denke das das Problem in allen MySQL 8 Installationen auftreten wird.
                        Ja, integer sind anders unter Mysql 8. Wie setzt denn Contao selbst integer Felder unter M8 z.B. tl_page.sorting?
                        http://www.premium-contao-themes.com

                        Kommentar


                        • #13
                          Das ist sehr merkwürdig. Die Anweisungen scheinen identisch mit deinen zu sein, aber für die Contao Felder bekomme ich keine Hinweise, dass sie weiterhin aktualisiert werden müssen. Ich vermute, dass ich sie beim Update auf 4.13 bestimmt anpassen musste, aber danach tauchen sie nicht mehr im Installtool auf.

                          Kommentar


                          • #14
                            Zitat von denniserdmann Beitrag anzeigen
                            Das ist sehr merkwürdig. Die Anweisungen scheinen identisch mit deinen zu sein, aber für die Contao Felder bekomme ich keine Hinweise, dass sie weiterhin aktualisiert werden müssen. Ich vermute, dass ich sie beim Update auf 4.13 bestimmt anpassen musste, aber danach tauchen sie nicht mehr im Installtool auf.
                            Vielleicht werden die Definitionen noch einmal intern umgewandelt und angepasst. Hast du mal versucht die SQL-DCA-Felddefinitionen in die dcaconfig.php zu setzen zum Test. Die müsste Contao abwandeln.
                            http://www.premium-contao-themes.com

                            Kommentar


                            • #15
                              Ich verstehe nicht ganz, was du meinst. Aber ich habe nochmal ein paar Tests gemacht, und dabei gesehen, dass normale DB-Änderungen anders aussehen, als die für CC. Vielleicht hilft dir das weiter:

                              So sieht die Anweisung für den CC aus:

                              Code:
                              ALTER TABLE cc_bsptabelle CHANGE sorting `sorting` int(10) unsigned NOT NULL default '0';
                              und so für tl_page:

                              Code:
                              ALTER TABLE tl_page CHANGE sorting sorting INT UNSIGNED DEFAULT 0 NOT NULL
                              (keine Backticks)

                              Kommentar

                              Lädt...
                              X