Ich habe mal eine Frage an die Datenbank-Profis hier. Bei einem Update von Version 2.6.x auf die aktuelle 3.10 (Paket vom Update - Assistenten) habe ich folgendes Problem: Das Update geht ohne Probleme bis zur Shopversion 3.4 / 3.5.1, wenn die Anzeige auf die 3.5.1 umspringt erscheint eine Fehlermeldung für die Tabellen adress_book, categories, configuration, customers, manufacturers, products... Im Gambio_Updater habe ich bei dem Update für die 3.4 diesen Befehl gefunden Code: CREATE TABLE IF NOT EXISTS `configuration_storage` ( `key` varchar(255) NOT NULL, `value` varchar(255) DEFAULT NULL, `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`key`) ) ENGINE=MyISAM; Grund der Meldung ist offenbar, dass der Timestamp nicht gesetzt werden kann, weil es schon einen gibt. Hier ist mal einer der Meldungen: Code: Query: ALTER TABLE `address_book` MODIFY `address_last_modified` timestamp NOT NULL ON UPDATE CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP Error message: Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause Hat jemand eine Idee, wie man das lösen kann?
Hi, ich vermute du hast die Wawi Faktura XP installiert, diese legt in jede Tabelle die von der Wawi mit Daten bestückt oder auch gelesen wird eine eigene Spalte an. Diese Spalte hat ein Attribut ON UPDATE CURRENT_TIMESTAMP, da aber MySQL nur eine dieser Spalten mit dem Attribut zulässt funktioniert das Update nicht. Die Lösung ist eine Aktualisierung der MySQL Version auf mindestens 5.6 oder 5.7, damit wurde die Einschränkung aufgehoben und das Update sollte danach ohne Fehler funktionieren.
Danke Till, Genau, es ist Faktura angeschlossen. Dann werde ich mal sehen, das MySQL aktualisiert wird.
Hallo barbara, wenn Faktura-XP angeschlossen ist, unsere "alte" GX2-Schnittstelle verwendet wird und du ein Update machen musst, kannst unser Feld rauswerfen, was dann allerdings aktuell nicht gehen wird ist der Artikel-Upload, sprich das Aktualisieren von Artikeln aus der GX2-Schnittstelle heraus. Info zum Feld "ts_fxp": Lang vor meiner Zeit bei Faktura-XP wurde dieses Feld erfunden, da ohne Timestamp-Feld ein Aktualisieren in Tabellen nicht möglich war. Wie das Timestamp-Feld heißt spielt eigentlich keine Rolle, hauptsache eins ist da. Da es damals keine Notwendigkeit gab eins hinzuzufügen, wurde es von uns hinzugefügt. Welche Tabellen davon betroffen sind findest du im Skript "TimeStamp_To_Shop.sql" im System-Verzeichnis deiner Faktura-XP Installation. Die Schnittstelle mit direkter Datenbankverbindung, also sprich die "GX2-Schnittstelle" wird nicht mehr weiter entwickelt, solange du/ihr mit einem GX3 da noch ohne Fehler drauf zugreifen könnt: Dreimal auf Holz geklopft. Wenn nicht: Wir haben extra eine GX3-Schnittstelle. Um mal frei unseren Wilken zu zitieren "Es wird der Tag kommen, wo wir die Datenbank umstrukturieren, da werden diejenigen die auf der Datenbank rumreiten böse vom Pferd fallen" In der der GX3-Schnittstelle verwenden wir (fast) ausschließlich die Gambio-API. Ausnahmen: Manufacturers, OrderStatus, Varianten Hierfür wird ein kleiner Connector von uns auf dem Server benötigt der die Daten aus der Datenbank direkt holt. Der kleine Knecht wird demnächst aber auch obsolet sobald die notwendigen Änderungen in der Gambio-API vorhanden und wir die in der Schnittstelle nachgepflegt haben. Für Rückwärtskompatibilität bis 3.0.0.0 bleiben die Aufrufe und Zugriffsmöglichkeiten auf den Knecht aber erhalten. #Edith: Aber um auch den GX2-Usern noch ein wenig zu helfen hab ich mal einen Patch für ein kommendes Faktura-XP Update erstellt. Ob der übernommen wird kann ich nicht garantieren, werde mein bestes geben gute Argumente zu finden wieso wir noch was an der GX2-Schnittstelle ändern sollten der Patch würde neben der harten Prüfung auf "ts_FXP" dann zusätzlich in einer zweiten Stufe prüfen ob überhaupt in der Tabelle ein TimeStamp-Feld vorhanden ist. Wird dort eins gefunden, bleibt die Schnittstelle still, und es sollte auch der Artikel-Upload (Artikelaktualisierung) wieder gehen. Wie gesagt: Ich kanns nur anbieten, ich hoffe ich find ein gutes Argument sollte gefragt werden wieso. Wenns geklappt hat findet ihr die Info in der Versionshistorie auf (Link nur für registrierte Nutzer sichtbar.) in dem dann kommenden Update.
Hallo Daniel, vielen Dank für die Ausführung und Aufklärung. Bei dem Update handelte es sich um einen Kundenshop, der inklusive der Verbindung zu FakturaXP auf den aktuellen Stand gebracht werden sollte. Nach dem Löschend es Timestamp hat das Shop-Update problemlos funktioniert. Um die Schnittstelle hat sich Faktura gekümmert, sollte also auch laufen