0 0 Punkte

So jetzt haben wir die neue Version am laufen und gleich der erste Dämpfer. Bei der Datenbankaktualisierung haben wir diese Fehlermeldung erhalten (und nun?)

Fehler!

Exception!  The database update/creation did not succeed. The file sql/Pg-upgrade2/prices_unique.sql containing the following query failed:
ALTER TABLE prices ALTER COLUMN pricegroup_id SET NOT NULL
The error message was: FEHLER:  Spalte »pricegroup_id« enthält NULL-Werte
All changes in that file have been reverted.

   thrown  at  file /var/www/kivitendo-erp/SL/Form.pm, line 351 in Form::dberror, pid=3141
   reached via file /var/www/kivitendo-erp/SL/DBUpgrade2.pm, line 192 in SL::DBUpgrade2::process_query
   reached via file /var/www/kivitendo-erp/SL/DBUpgrade2.pm, line 294 in SL::DBUpgrade2::process_file
   reached via file /var/www/kivitendo-erp/SL/User.pm, line 453 in User::dbupdate2
   reached via file /var/www/kivitendo-erp/SL/User.pm, line 164 in User::login
   reached via file /var/www/kivitendo-erp/SL/Controller/LoginScreen.pm, line 65
      in SL::Controller::LoginScreen::action_login
   reached via file /var/www/kivitendo-erp/SL/Controller/Base.pm, line 263 in SL::Controller::Base::_run_action
   reached via file /var/www/kivitendo-erp/SL/Dispatcher.pm, line 218 in SL::Dispatcher::_run_controller
   reached via file /var/www/kivitendo-erp/SL/Dispatcher.pm, line 308 in SL::Dispatcher::handle_request
   reached via file /var/www/kivitendo-erp/SL/Dispatcher.pm, line 226 in SL::Dispatcher::handle_all_requests
   reached via file /var/www/kivitendo-erp/dispatcher.fcgi, line 21 in 

1 Antwort

1 1 Punkt

Das Upgradescript ist von mir, und stellt sicher, daß alle Einträge in der Tabelle prices sinnvolle Werte haben und auch benutzt werden können. Scheinbar gibt es Einträge in der Datenbank in der Tabelle "prices", wo pricegroup_id NULL ist, was nie passieren sollte, wenn der Code korrekt funktioniert. Hm, aber da war doch mal eine Frage im Forum, Moment, hier ist sie:

https://forum.kivitendo.de:32443/3801/preisgruppe-n

turtle:
OK habe es händisch via SQL in der DB gelöst.

UPDATE prices SET pricegroupid = NULL WHERE pricegroupid = [Nummer von pricegroup]
Danach kann die entsprechende Preisgruppe aus pricegroup gelöscht werden.

Tja, wenn man Einträge per Datenbankbefehl schreddert kann das natürlich passieren...

Die entsprechenden Einträge mit pricegroup_id NULL können nirgends mehr verwendet werden und sind nutzlos, am Besten also aus der Datenbank ganz rauslöschen, dann sollte auch das Upgradeskript wieder gehen.

Ähnliche Fragen

0 0 Punkte
1 1 Antwort
turtle Gefragt 23, Jul 2017
Hallo, habe versucht bei 'Ware bearbeiten' ein pdf Dokument hochzuladen, leider ohne Erfolg. Erhalte jene Meldung: do_transaction() failed - Dateimanagement-Subsystem "F...
0 0 Punkte
2 2 Antworten
Anonym Gefragt 18, Mär 2018
Hallo Kivitendo-Community, ich betreibe seit 2008 eine Version von lx-office 2.6 für einen gemeinnützigen Verein. Ich möchte diese jetzt auf kivitendo 3.5.1 aktualisie...
0 0 Punkte
1 answers 1 Antwort
fsinn Gefragt 20, Jan 2023
Nach dem Update von v3.5.8 auf v3.7.0 lassen sich alte Aufträge nicht mehr öffnen und die folgende Fehlermeldung liefert den Hinweis warum: tax_amount != 0 but no char...
0 0 Punkte
1 1 Antwort
silencer2010 Gefragt 13, Mai 2016
Hallo ! Unter System - Kontenübersicht - Konten anzeigen erhalte ich eine Übersicht aller Konten. Bspw. Konto 1307 . Spaltenüberschrift "Beschreibung (Klick öffnet ei...
0 0 Punkte
0 0 Antworten
kbroszat Gefragt 7, Jan 2016
Hallo, nach Intallation von v3.3.0 (vorher 3.0.0.) erscheint bei mir nach einloggen als admin folgende Fehlermeldung: Datenbankaktualisierung (lxerp_auth) Führe details_...