Datenbankfehler nach Update J4 / VM 4

  • Moin zusammen!


    Ich habe mich mal ganz mutig an das Update eines Shops gemacht. Die Seite ist geplant ein paar tage vom Netz.


    Zunächst habe ich eine Kopie der Seite erstellt und diese parallel in einem anderen Ordner installiert - natürlich mit eigener Datenbank.


    Dort dann erst alle Erweiterungen und dann Joomla upgedated.


    Ein paar Mucken - aber insgesamt alles ganz geschmeidig gelaufen.


    Okay, dass VM immer noch nicht zu 100% Php 8 kompatibel ist ist nicht so toll, kann ich aber erstmal mit leben.


    Nun zu meinem Problem:

    Ich war kurz davor die Seite live zu setzen, da alles funktionierte.

    Dann. bei der ersten Testbestellung der große Schreck:


    Angeblich sei das Feld "Stadt" nicht ausgefüllt (obwohl Werte eingetragen waren.).


    Im Backend habe ich mir das feld dann angesehen und die Einstellungen geprüft. Keine Auffälligkeiten.

    Also Feld speichern und raus.


    Jetzt kam aber folgender Fehler:


    Code
    1. vmError: vmTable store updateObject Incorrect datetime value: '0' for column 'locked_on' at row 1 UPDATE `sap22_virtuemart_userfields` SET `virtuemart_vendor_id`='1',`userfield_jplugin_id`='0',`name`='city',`title`='COM_VIRTUEMART_SHOPPER_FORM_CITY',`description`='',`type`='text',`maxlength`='32',`size`='30',`required`='1',`cols`='0',`rows`='0',`default`='',`placeholder`='',`registration`='1',`shipment`='1',`account`='1',`cart`='0',`readonly`='0',`calculated`='0',`sys`='1',`ordering`='22',`shared`='0',`published`='1',`modified_on`='2022-09-23 12:53:45',`modified_by`='3',`locked_on`='0',`locked_by`='0' WHERE `virtuemart_userfield_id` = '35'
    2. vmError: vmTable store updateObject Incorrect datetime value: '0' for column 'locked_on' at row 1 UPDATE `sap22_virtuemart_userfield_values` SET `virtuemart_userfield_id`='35',`fieldtitle`='',`fieldvalue`='',`ordering`='0',`sys`='0',`locked_on`='0',`locked_by`='0' WHERE `virtuemart_userfield_value_id` = '49'

    Der Wert in locked_on ist in der Datenbank allerdings ebenfalls korrekt :(


    Ich verstehe es absolut nicht und muss jetzt erstmal vom Rechner weg, da ich sonst verrückt werde.


    Habt Ihr eine Idee, woran das liegen könnte?


    Ich habe als Alternative versucht, ein neues Feld zu erstellen, um ggf. das bisherige zu ersetzen - geht auch nicht. Di DB zickt mit dem selben Fehler.


    Danke für jeden Tipp!

  • Servus


    Welche Version genau ist das?


    Vorweg, ich würde Live-Shops noch auf 3.8.9 lassen bis die 4er-Version etwas erwachsener wird, die 4er nur auf Testshops.


    Es kann sein, dass dieser Fehler schon behoben ist, das Thema wurde vor einiger Zeit im Dev Chat besprochen.

    Ziemlich bald dürfte eine neue RC-Version herauskommen.


    Grüße

    Stefan

  • Hallo Stefan und Danke für Deine Antwort.


    JOOMLA! ist auf 4.2.2

    VirtueMart ist 4.0.6 10690 - so wie vom Updateserver angeboten :(

    Php musste ich wie gesagt auf 7.4 herabsetzen

    MySQL läuft mit Version 8


    Die Kundin kommt morgen aus dem Urlaub zurück und ich würde nur ungern auf J3.10 und VM 3.8.9 zurück - dann waren 1,5 Tage Arbeit umsonst...


    Ich hoffe es liest noch jemand mit, der gf. eine Idee hat?


    Grüße von der Waterkant

    Michael

  • Servus,


    wenn Du eine E-Mail an die Adresse schickst, die Du hier findest:

    https://www.jooglies.com/impressum

    könnte ich Dir eine neuere VM-Version schicken, die helfen könnte.


    Grüße

    Stefan


    PS: Joomla 3.10.x mit VM 3.8.9 ist dieses Jahr immer noch die bessere Wahl. Gerade hat Joomla von J 4.1.5 auf 4.2.2 wieder "etwas kaputt" gemacht, so dass keine Zahlungsplugins gespeichert werden können. Ich erwarte da noch mehr Rückwärtskompatibilitätsbrüche in der Zukunft.

  • Okay, dass VM immer noch nicht zu 100% Php 8 kompatibel ist ist nicht so toll, kann ich aber erstmal mit leben.

    Hallo Michael,


    ich betreibe VM sehr gut mit PHP 8. Jedoch noch unter J 3.10.11

    Auch ich habe eine J 4 Testinstallation bei welcher ich zur Zeit auch nicht weiter als bis zur Adresseingabe komme. Bei mir ist es die Fehlermeldung (Tooltips kann nicht geladen werden). Eventuell ist es nur ein Templatefehler vom Cassiopeia, welches ich zum Testen nutze. Kann sein, dass dieser Fehler unter meinem neuen VP_Merchant nicht auftritt. Das muss ich erst noch Testen.


    So wie der Stefan es schon sagte, J 4 ist noch nicht stabil genug um es produktiv einzusetzen. Ich selbst werde mich was diese Migration betrifft an kalte Winterabende so im November, Dezember rantasten.


    Bis dahin ist man mit VM 4.0.6 und J 3.10.11 am besten beraten. Welches Template für J 4 nutzt Du?

  • Ich kann die Schmerzen verstehen.


    Zur Vermeidung von neuen Schmerzen:

    Joomla plant ja nun alle zwei Jahre eine Version höher zu gehen. Das heißt, wenn Joomla 5 kommt, dann sollte es noch 2 Jahre Support für Joomla 4 geben.

    Und mit Joomla 5 und Joomla 6 könnte es dann ähnlich laufen.


    Wenn man nun ein halbes Jahr vor der neuen Version auf die "alte" geht, also in diesem Fall im Frühjahr 2023 auf Joomla 4, ist das zwar auch bald schon wieder alt, aber alle Entwicklung konzentriert sich dann auf die nächste Version (J5).


    ->>> Damit bleibt die J4 aber dann zwei Jahre sehr schön stabil und sicher und man hat wieder genug Zeit auf die nächste "alte" Version zu gehen.


    Eigentlich wird also alles besser. ;-)


    Stefan


    PS. Dennoch möglichst bald die 4.0.6 auf 4.0.7.10707 oder höher aktualisieren, weil in 4.0.6 noch der Umlaut-Bug drin ist. Die 4.0.7.10707 würde ich eher in einem Live einsetzen als die 4.0.6.

  • Moin - ich nochmal :)


    Mit J 3.10.11 und VM 4.0.6 lief es dann jetzt auch wieder - ein Hoch auf Akeeba Backup!


    Die Kundin meldete sich allerdings gestern, weil durch den Umlaut-Bug die CSV-Dateien in ihrem Orgamax natürlich verschoben ankommen, sobald jemand z. B. aus Jülich oder Düsseldorf kommt...


    Die 4.0.7.10707 kann also tatsächlich auch relativ sicher in Liveseiten eingestezt werden?


    Grüße von der Ostsee

    Michael

  • Servus,


    ich teste gerade die 4.0.7.10709. Die sollte noch ein paar weitere Filterprobleme beheben.

    Schau sie Dir selbst einmal an. Mail ist raus.


    "Relativ sicher" nach dem Testen der Funktionen, die man benötigt.


    Die kommende 4.0.8 wird wahrscheinlich nicht mehr sehr viele Veränderungen haben. Also lieber die 4.0.7.709 als die 4.0.6.

    Meine stabile Empfehlung ist weiterhin die 3.8.9.10473 oder 3.8.9.10514 bis alle Probleme der 4.0.x durchgetestet sind.


    Schau bitte auch über die Zahlungsplugins, ob die gespeichert werden können.


    Grüße

    Stefan

  • Eine Membership hilft mir immer weiter, https://extensions.virtuemart.…pporter-membership-detail

    Der Bug hatte wieder viel Zeit gefressen und wurde ausgelöst durch PHP8 Kompatibilität. Da hat ich ein Fehler gemacht und die Kaskade nahm seinen Lauf.

  • Stefan, bis auf den Fehler mit den Umlauten sind die Fehler mit der VM4 fast immer j4 Probleme, nicht j3. Manchmal ist auch eine Änderung für j4 ein Problem auf j3 geworden. Auf j3 läuft VM4 für die meisten problemlos (siehe Boerky).


  • Also es sollte helfen, die vm config zu öffnen und einmal zu speichern. Da is mf_name noch als Suchfeld vorhanden, ich habe das entfernt. Es ist Unsinn nach dem Herstellernamen in Produkten zu suchen. Da nutzt man lieber den Hersteller filter. Oder man ist auf der Seite der Hersteller und dort sucht man dann nach dem Namen eines Herstellers.
    Die Query spart sich so den JOIN mit der Herstellertabelle. und es gibt ein neues Package. Meines Erachtens live nutzbar, aber besser immer vorher testen.

    https://dev.virtuemart.net/att…14_package_or_extract.zip

  • Moin!


    Heute berichtet die Kundin, dass alle Adressdaten von Bestandskunden verschwunden sind. Das muss wohl schon Ende September (s.o.) passiert sein, fiel aber erst jatzt durch Kundenfeedback auf. Insbesondere da eine Kundin aus der Schweiz bei jedem Kauf ihre Daten neu eingeben muss.


    Grüße von der Ostsee!

  • Servus,


    da müsste man mal in die Datenbank schauen, evtl. reicht es ja, eine alte Sicherung der Tabelle mit den Benutzerdaten zu verwenden, um die Adressen wieder herzustellen, falls die wirklich aus der DB verschwunden sind und der Fehler nicht woanders liegt.


    Welche Version wird jetzt verwendet?


    Grüße

    Stefan

  • Moin!


    Sorry - ich war mit anderen Projekten belegt.


    Die Version ist 4.0.7 10709


    In der Datenbank sind nicht alle Adressdaten futsch - eine Logik ist aber nicht erkennbar. Schlimmer ist, dass bei neu registrierten die Adressdaten nicht gespeichert werden.


    Die Kunden müssen jedes Mal alles neu eingeben. Das betrifft teils auch die älteren Kunden, bei denen die Adressdaten verschwunden sind.


    Dass die Daten nicht mehr gespeichert sind ist in der Tat ab dem 28. September der Fall ;(

  • Die nicht erklärbare Logik sind wahrscheinlich Umlaute, das funktioniert inzwischen wieder.


    Aktuelle Versionen gibt es hier:

    https://dev.virtuemart.net/projects/virtuemart/files

    In diesem Moment würde ich zur 4.0.7.10744 greifen.

    EDIT: noch zur 10732 greifen, die 744 hat ein neues Feature und das ist noch etwas buggy. Ist aber sicher gleich erledigt. Dann die nächste Version.


    Grüße

    Stefan