Problem bei Update von 3.1.0 auf 3.2.0/3.2.1/3.3.0

Von Reinhard Kalchmair vor mehr als 1 Jahr hinzugefügt

Hallo !

Ich habe ein Problem beim Update von 3.1.0
Mach ich ein Update auf 3.2.0 oder 3.2.1 bzw auch 3.3.0 bekomme ich die Fehlermeldung

get_objects() - DBD::Pg::st execute failed: ERROR: column t1.allow_new_purchase_delivery_order does not exist
LINE 4: t1.allow_new_purchase_delivery_order,
^ at /usr/share/perl5/Rose/DB/Object/Manager.pm line 2014.
at /var/www/kivitendo-erp-release-3.2.0/bin/mozilla/login.pl line 53.
_

Rufe ich bei 3.2.0 oder 3.2.1 vorher die admin.pl auf erhalte ich

get_objects() - DBD::Pg::st execute failed: ERROR: column t1.disabled_price_sources does not exist
LINE 35: t1.disabled_price_sources,
^ at /usr/share/perl5/Rose/DB/Object/Manager.pm line 2014.
at /var/www/kivitendo-erp-release-3.2.0/bin/mozilla/login.pl line 53.

Dürfte irgendwo ein Problem mit unserer Datenbank sein, nur wo liegt der Fehler ?

Achso, ich spiele die lxerp_auth und die DB vor jeden Versuch neu ein ( dropdb/createdb/psql-import )

Hat jemand eine Idee wie ich das Problem lösen kann

Grüße
Reinhard


Antworten (9)

RE: Problem bei Update von 3.1.0 auf 3.2.0/3.2.1/3.3.0 - Von G. Richardson vor mehr als 1 Jahr hinzugefügt

Wurde nach dem Update der Dateien der Webserver neu gestartet? Das Rose braucht immer die aktuellen Beschreibungen der Datenbanktabellen (die Metasetup Dateien), und die werden nach einem Programmupdate per fcgi erst bei einem Neustart des Webservers aktualisiert.

RE: Problem bei Update von 3.1.0 auf 3.2.0/3.2.1/3.3.0 - Von Reinhard Kalchmair vor mehr als 1 Jahr hinzugefügt

bringt leider nichts, beim Update auf 3.2.0 muss ich nach rund 10 min die Datei users/nologin manuell löschen weil mir sonst die DB auf ewig gesperrt bleibt

RE: Problem bei Update von 3.1.0 auf 3.2.0/3.2.1/3.3.0 - Von Jan Büren vor mehr als 1 Jahr hinzugefügt

Hmm. Eher ungewöhnlich.

Also:

a) neue Version einspielen
b) Webserver neustarten
c) Admin-Interface aktualisieren / anmelden
d) Programm aktualisieren / anmelden

Falls es nicht hilft und so bleibt, müssten man i.d. Tat einmal den Datenbestand gegenprüfen, dass war ja ein "mittlerweile" nicht mehr gepflegter SKR07 (Österreich), ggf. ist hier wirklich eine Kontokonfiguration der Showstopper.

RE: Problem bei Update von 3.1.0 auf 3.2.0/3.2.1/3.3.0 - Von Reinhard Kalchmair vor mehr als 1 Jahr hinzugefügt

ich habe jetzt hier auf einem Testsystem / virtuellen Server die erp-Releases 3.1.0, 3.2.0, 3.2.1 und 3.3.0 jeweils als eigenes Verzeichnis unter var/www liegen, mittels eines bash-scripts kopiere ich die für die gewünschte Version erforderliche conf ins conf-enabled des apachen und starte den dann neu
die Datenbank ist angelegt worden in 2.4.1 oder 2.4.3 im März 2008, ich denke damals mit dem österreichischen Kontenrahmen, Buchhaltung wird bei uns extern gemacht, wir nutzen also nur Angebot, AB, Lieferschein, Rechnung und Lager derzeit
als User postgres führe ich zum Beginn eines "Updateversuchs" folgende Schritte aus: dropdb lxerp_auth, dropdb database, createdb --owner lxoffice -h localhost lxerp_auth, createdb --owner lxoffice -h localhost database, psql -U lxoffice -h localhost lxerp_auth < lxerp.sql, psql -U lxoffice -h localhost database < backup.sql
backup wird erstellt mit: pg_dump --no-owner --no-privileges lxerp_auth > lxerp.sql, pg_dump --no-owner --no-privileges database > backup.sql jeweils als user postgres

Habe soeben nochmal Datenbank neu eingespielt, auf 3.1.0 ist alles OK, gehe ich auf 3.2.0 tut sich im admin interface nichts, kann mich ganz normqal einloggen, auch keine Meldungen, gehe ich dann zum User login kommt die Meldung daß die DB aktualisiert werden muss, klicke ich auf Weiter arbeitet irgendwas, top am Server bringt auch für postgres hohe Belastungswerte, irgendwann bricht der Browser die Verbindung ab, top am Server hat wieder einen load von 0,xx, die Datenbank ist nach wie vor gesperrt und muss über die admin Oberfläche oder durch löschen der nologin wieder zugänglich gemacht werden und dann kommt die im 1. Post zitierte Fehlermeldung
Ich kann aber auf die Menüs zugreifen, bei Berichte/Angebote kommt dann
SELECT * FROM tax_zones ORDER BY sortkey
ERROR: column "sortkey" does not exist
LINE 1: SELECT * FROM tax_zones ORDER BY sortkey
^

mfg
Reinhard

RE: Problem bei Update von 3.1.0 auf 3.2.0/3.2.1/3.3.0 - Von G. Richardson vor mehr als 1 Jahr hinzugefügt

Je nachdem wie viele Daten man hat kann das Update auch mal den Request-Timeout des Servers überschreiten, insbesondere bei FCGI sollte man dann den Wert hochsetzen, oder aber das Update ohne fcgi fahren. Ansonsten klingt das erst Mal alles richtig, das Update läuft ja.

Der Parameter heißt FcgidIOTimeout, ich hab hier auch mal was dazu geschrieben: http://blog.kivitendo-premium.de/?p=43

RE: Problem bei Update von 3.1.0 auf 3.2.0/3.2.1/3.3.0 - Von Reinhard Kalchmair vor mehr als 1 Jahr hinzugefügt

Danke, ich versuch das jetzt mal und werde dann berichten, ansonsten eventuell mal mit normalen cgi,
ich hab den Timeout jetzt auf 1520 gesetzt, hat aber wieder abgebrochen
@Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

Apache/2.4.7 (Ubuntu) Server at wil-kivi01 Port 80
@

:-(

RE: Problem bei Update von 3.1.0 auf 3.2.0/3.2.1/3.3.0 - Von Reinhard Kalchmair vor mehr als 1 Jahr hinzugefügt

Habe nun auf cgi umgestellt, es tut sich schon mehr, das DB Update läuft durch, dann bekomme ich die Fehlermeldungen

Führe warehouse_add_delivery_order_items_stock_id.sql aus: Constraints für inventory auf delivery_order (dois und do). Ferner sinnvolle Umbenennung zumindestens von einer Spalte (orderitems -> dois).
Falls die Constraint nicht gesetzt werden kann, kontaktieren Sie einen Dienstleister und / oder löschen sie die Verknüpfung der Warenbewegung mit Lieferschein auf eigene Verantwortung mit: "UPDATE inventory SET oe_id = NULL WHERE oe_id NOT IN (select id from delivery_orders);"
Hintergrund: Eingelagerte Lieferscheine können / sollen nicht gelöscht werden, allerdings weist dieser Datenbestand genau diesen Fall auf.

Darunter rot hinterlegt
The database update/creation did not succeed. The file sql/Pg-upgrade2/warehouse_add_delivery_order_items_stock_id.sql containing the following query failed:
ALTER TABLE inventory ADD CONSTRAINT oe_id_fkey FOREIGN KEY (oe_id) REFERENCES delivery_orders (id)
The error message was: ERROR: insert or update on table "inventory" violates foreign key constraint "oe_id_fkey"
DETAIL: Key (oe_id)=(121235) is not present in table "delivery_orders".
All changes in that file have been reverted.

ich habe dann mittels pg_admin die SQL-Anweisung UPDATE inventory SET oe_id = NULL WHERE oe_id NOT IN (select id from delivery_orders); abesetzt die auch erfolgreich ausgeführt wurde

dann kam diese Fehlermeldung
get_objects() - DBD::Pg::st execute failed: ERROR: column t1.transport_cost_reminder_article_number_id does not exist
LINE 91: t1.transport_cost_reminder_article_number_id,
^ at /usr/share/perl5/Rose/DB/Object/Manager.pm line 2014.
at /var/www/kivitendo-erp-release-3.2.0/bin/mozilla/login.pl line 53.

anschliessend hab ich mich nochmal aus und eingeloggt, es kam wieder der Dialog zum DB-Update, und nochmals die gleiche Fehlermeldung wie oben

nach dem Löschen des Browser Verlaufs / Cache kam nun folgende Fehlermeldung

Führe convert_taxzone.pl aus: Setzt Fremdschlüssel und andere constraints auf die Tabellen tax und taxkeys
Die Datenbankaktualisierung/erstellung schlug fehl. Die Datei sql/Pg-upgrade2/convert_taxzone.pl enthielt den folgenden Fehler:
Fehler beim Datenbankupgrade:
INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('0', '276275', 276271, 276273); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('0', '156', 68, 77); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('0', '1305', 72, 1309); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('0', '278990', 276266, 278988); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('0', '282083', 282070, 282081); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('0', '282091', 282074, 282089); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('0', '318679', 318646, 1309); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('0', '365407', 365405, 318654); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('1', '276275', 276268, 276273); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('1', '156', 143, 77); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('1', '1305', 544, 1309); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('1', '278990', 278984, 278988); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('1', '282083', 282079, 282081); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('1', '282091', 282076, 282089); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('1', '318679', 318648, 1309); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('1', '365407', 1309, 1309); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('2', '276275', 276268, 276273); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('2', '156', 69, 77); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('2', '1305', 72, 1309); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('2', '278990', 278984, 278988); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('2', '282083', 282079, 282081); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('2', '282091', 282076, 282089); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('2', '318679', 1309, 1309); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('2', '365407', 1309, 1309); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('3', '276275', 276268, 276273); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('3', '156', 70, 77); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('3', '1305', 1306, 1309); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('3', '278990', 278984, 278988); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('3', '282083', 282079, 282081); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('3', '282091', 282076, 282089); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('3', '318679', 1309, 1309); INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('3', '365407', 1309, 1309);
ERROR: insert or update on table "taxzone_charts" violates foreign key constraint "taxzone_charts_expense_accno_id_fkey" DETAIL: Key (expense_accno_id)=(276273) is not present in table "chart". at /var/www/kivitendo-erp-release-3.2.0/SL/DBUpgrade2/Base.pm line 42.
Alle Änderungen in dieser Datei wurden rückgängig gemacht.

Wie bringe ich diesen Fehler weg ?

LG
Reinhard

Gelöst ??? RE: Problem bei Update von 3.1.0 auf 3.2.0/3.2.1/3.3.0 - Von Reinhard Kalchmair vor mehr als 1 Jahr hinzugefügt

Das Problem liegt an alten Buchungsgruppen denen teilweise keine Konten zugeordnet waren, ich habe jetzt mal zusätzliche Konten angelegt und die dementsprechenden Schlüssel für das Konto mit PgAdmin in die Tabelle Buchungsgruppen eingetragen, so fuktioniert zumindest einmal das Update. In der Tabelle waren jetzt Schlüssel für Konten eingetragen die es nicht gibt bzw aus einem Schlüssel der Buchungsgruppe abgeleitet waren.
Frag3e an die Experten - Muss ich da mit Problemen im Datenstamm rechnen?

Grüsse Reinhard

RE: Problem bei Update von 3.1.0 auf 3.2.0/3.2.1/3.3.0 - Von Jan Büren vor mehr als 1 Jahr hinzugefügt

Ja. Ich hab gerade aktuell ein Projekt in welchen wir wieder eine Voll-FiBu mit kivitendo anstreben.

Um hier auf Nummer sicher zu gehen würde ich auf jeden Fall die SelfTests konfigurieren und durchlaufen lassen.

Ich hab die in den letzten Wochen verschärft / verbessert für alle Fälle die mir noch in diesem Projekt aufgefallen sind.

Schau mal diesen Blog-Eintrag: http://blog.kivitendo-premium.de/?p=509

(1-9/9)