Forum
Bitte beachte auch unsere Knowledgebase und das Handbuch!
in qrk.log folgende Einträge:
2019.06.03 11:28:06.382 38793688 1.10.5.Build-190512 Warning: Function Name: static bool Database::addProduct(const QJsonObject&) error: "Cannot add or update a child row: a foreign key constraint fails (`qrk`.`products`, CONSTRAINT `group` FOREIGN KEY (`group`) REFERENCES `groups` (`id`)) QMYSQL3: Der Befehl konnte nicht ausgeführt werden"
2019.06.03 11:28:06.382 38793688 1.10.5.Build-190512 Warning: Function Name: static bool Database::addProduct(const QJsonObject&) Query: "INSERT INTO products (name, itemnum, barcode, tax, net, gross, visible, `group`) VALUES (Startbeleg, 109018, '', 0, 0, 0, 0, 1)"
2019.06.03 11:30:12.879 38793688 1.10.5.Build-190512 Warning: Function Name: static bool Database::addProduct(const QJsonObject&) error: "Cannot add or update a child row: a foreign key constraint fails (`qrk`.`products`, CONSTRAINT `group` FOREIGN KEY (`group`) REFERENCES `groups` (`id`)) QMYSQL3: Der Befehl konnte nicht ausgeführt werden"
2019.06.03 11:30:12.879 38793688 1.10.5.Build-190512 Warning: Function Name: static bool Database::addProduct(const QJsonObject&) Query: "INSERT INTO products (name, itemnum, barcode, tax, net, gross, visible, `group`) VALUES (Startbeleg, 109018, '', 0, 0, 0, 0, 1)"
2019.06.03 11:34:10.415 38793688 1.10.5.Build-190512 Warning: Function Name: static bool Database::addProduct(const QJsonObject&) error: "Cannot add or update a child row: a foreign key constraint fails (`qrk`.`products`, CONSTRAINT `group` FOREIGN KEY (`group`) REFERENCES `groups` (`id`)) QMYSQL3: Der Befehl konnte nicht ausgeführt werden"
2019.06.03 11:34:10.415 38793688 1.10.5.Build-190512 Warning: Function Name: static bool Database::addProduct(const QJsonObject&) Query: "INSERT INTO products (name, itemnum, barcode, tax, net, gross, visible, `group`) VALUES (Startbeleg, 109018, '', 0, 0, 0, 0, 1)"
Es ist der letzte Version, auf Win 7 pro mit Mysql.
Kann ich eventuell der Database mit folgende commands dazu bewegen das DEP an zu legen, und dann wieder foreign-key*check aktivieren?
SET FOREIGN_KEY_CHECKS=0;
SET FOREIGN_KEY_CHECKS=1;
mfg
Jan
Gibt es in der groups Tabelle die Gruppe mit der id 1? Oder wurde diese gelöscht?
Hallo Chris bedankt voor de snelle reaktie.
Ik weet niet of er een id 1 in zit, dat kan ik morgen nakijken.
Het is een nieuwe installatie waarvoor ik de groepen/produkten aangelegd heb.
Ik kan dat morgen nakijken, als er geen id 1 is kan ik dat direkt in de database korrigieren?
MfG
Jan
Bitte
Wobei es bei der 10.5 eigenartig wäre. ich Check die Gruppe mit id ab. Wenn die nicht da ist wird die wieder beim Start angelegt.
Ich teste das morgen mal mit mysql.
Danke Chris,
morgen Nachmittags kann ich es in Ordnung machen. Wenn ich selber etwas tun könnte, dann bitte melden.
Möchte nicht von mysql nach sqlite gehen.
mfg
Jan
Wenn ich es richtig verstanden habe ist das eine neue Installation.
Dann wurden neue Artikel angelegt. Danach Versucht das DEP zu aktivieren.
Richtig?
Richtig!
Ich habe Warengruppen/Produkten drinnen gegeben, eine Woche probieren lassen und heute wollte ich das DEP aktivieren, dann kam eine Rückmeldung.
Kann DEP nicht anlegen, schaue Log an, da war diese Mysql-meldung mit foreign key constraint .
MfG
Jan
Hallo
Ich habe das hier getestet. Natürlich ohne Fehler.
Welche Version wurde installiert. Die 10.5er wurde ja dann übers Update gemacht. Interessant wäre die ursprüngliche Version. Kann mir nur vorstellen das hier beim DB Update was fehlgeschlagen ist.
Vielleicht kann ich ja die Logdatei und die DB haben. Vielleicht sehe ich noch was.
Hallo Chris,
Log-datei habe ich sofort.
DB muss ich konrolieren ob da schon ein backup im cloud steht.
mfg
Jan
Also
Ich habe hier einiges getestet. ich habe von Version 10.2 bis 10.5 die Updates gemacht. Ohne Probleme.
Das einzige was mir in den Sinn kommt ist das jemand direkt in der Datenbank war und in der Tabelle 'groups' herum experimentiert hat. Hier MUSS es die Gruppen mit ID 1 und 2 geben.
Die Gruppe mit der ID 1 kann aus QRK heraus gar nicht gelöscht werden, darum die Annahme.
Hallo Chris,
ich kann nicht glauben dass einer da das selber gemacht hat, denn es gibt keine Mysql Kentnisse.
Ursache ist wahrscheinlich der Import, die habe ich gemacht aber mit QRK.
Meine Frage, kann ich das wiederherstellen damit ich Tabelle groups 2 records mit id 1 und id 2 gebe.
Oder ratest Du eine Neu-Installation?
Die Kasse ist noch nicht in Gebrauch.
Es sind nur etwa 150 "Produkte" in 6 Gruppen.
Hauptsächlich werden Bons zur Rechnungen gemacht.
Umsatz ist minimal.
mfg
Jan
Vor ich neu installiere werde ich 2 Records in Mysql zu Tabelle Groups geben mit id 1 und id 2.
Wenn das klappt spare ich mich weitere Manipulationen.
Mit Workbench habe ich ein EE-Modell gemacht und es gibt fast keine foreign Keys, deswegen erwarte ich das es klappen wird.
MfG
Jan
Hast Du foreign Keys gelöscht?
Nein Chris natürlich nichts gelöscht!
eventuell kann der Kontrolle auf foreign Keys mit ein set deaktiveiert werden und nach dam das DEP angelegt ist wieder aktivieren oder?
Morgen arbeite ich an einer Lösung, egal welche. Wenn nichts funktioniert, neu-installation mit SQLite.
Chromis hat immer mal probleme mit foreign keys, da war das üblich aber ich arbeite kaum noch mit chromis.
MfG
Jan
Nein Chris natürlich nichts gelöscht.
mit "set check_foreign_keys = 0" kann ich die Kontrolle doch ausschalten und mit = 1 wieder einschalten.
Bei Chromis habe ich das früher öfters gemacht.
Morgen kann ich daran arbeiten, wenn nichts funktioniert dann neu aufbauen evt. mit SQLite.
Hauptsache am Ende funktioniert es, da habe ich volles vertrauen das es auf eine oder andere Art funktionieren wird.
MfG
Jan
eventuell kann der Kontrolle auf foreign Keys mit ein set deaktiveiert werden und nach dam das DEP angelegt ist wieder aktivieren oder?
Hallo
Nein, es funktionieren ja auch andere Bons nicht. Vor allem keine Bon zu Rechnung. Schau doch bitte ob die beiden Gruppen ids da sind.
Die f-keys haben schon Sinn und sollten so gut wie nie deaktiviert werden. Ausnahmen sind Updates die gezielte Änderungen in der Datenbank machen.
Was macht es für einen Sinn einen Eintrag zu erzwingen der dann gar nicht sichtbar ist weil es zB. eine Gruppe gar nicht gibt?
Wenn ich set_foreign_keys auf 0 stelle, der Database ändere (2 records dazu in 1 Tabelle) und dann wieder auf 1 stelle, dann war das nur weil ich anders keine Records einfügen kann.
Am Ende ist der Databasestruktur ungeändert, nur 2 Zeilen in 1 Tabelle dazu gegeben.
Das habe ich schon in der Zeit von Openbravopos gemacht, 7 Jahren her.
Ich werde genau dokumentieren was getan ist und kontrollieren ob alles funktioniert.
gerade 1 group dazu gegeben (testsystem), direkt in mysql, kein Problem.
Morgen mal sehen was ich begegne.
gute Nacht
Das stellt ja nicht das Problem war.
Ausschalten und löschen schon eher. Dann funktioniert das ganze System nicht und einige Datensätze in anderen Tabellen hängen in der Luft.
Ausschalten und DEP aktiveren danach wieder einschalten hat wohl auch keinen Sinn.
Um zb. Die fehlenden Gruppen eintragen zu können ist es nicht notwendig die keys zu deaktivieren.
Du kannst ja zb auch einen DEP Eintrag löschen. Irrtümlich. Datenbank unbrauchbar.
Darum macht man es nicht. Um ei en Fehler zu beheben sollte man wohl eher die App fixen und nicht in der Db herum experimentieren. Ist meistens ein Schuss nach hinten.
Danke Chris,
ich verstehe was Du meinst.
Es ist glücklicherweise eine neue Installation, es gibt noch keine offizielle Rechnungen.
Ich melde wie ich voran komme.
MfG
Jan
Servus
Dann lösche einfach die DB. Beim starten von QRK wird diese wieder neu erstellt.
lg Chris
Hallo Chris,
mache ich und importiere neu.
mfg
Jan