Erstellt vor 15 Monaten

Geschlossen vor 15 Monaten

#2408 closed Fehler (invalid)

Datenbankaktualisierung einer neu erstellter Datenbank bleibt stehen

Erstellt von: rfluehmann Verantwortlicher:
Priorität: sehr hoch Meilenstein:
Komponente: kivitendo ERP Version: 3.0.0
Schweregrad: kritisch Stichworte:
Beobachter: rfluehmann

Beschreibung

Nach dem git-merge zweier lauffägin Versionen unserer und dem commit:00a6b02170e2249ed10871aa401c0381374b703b
Author: Bernd Bleßmann <bernd@…>
Date: Fri Dec 6 16:11:20 2013 +0100
blieb die Datenbankaktualisierung einer erst neu erstellten Datenbank stehen.

Die Analysen ergaben, dass es im Script 'dunning_invoices_for_fees.sql' geschieht. Um die Sache näher zu lokalisieren, habe ich folgende folgende Locks eingefügt:

  1. dunning_dunning_id.sql: >>>

-- @tag: dunning_dunning_id
-- @description: In der Tabelle dunning ist dunning_id falsch benannt und es fehlt eine Spalte, die mehrere Eintr&auml;ge zusammenfasst.
-- @depends: release_2_4_2
LOCK TABLE dunning NOWAIT;
ALTER TABLE dunning ADD COLUMN dunning_config_id integer;
UPDATE dunning SET dunning_config_id = dunning_id;
ALTER TABLE dunning ADD FOREIGN KEY (dunning_config_id) REFERENCES dunning_config (id);

ALTER TABLE dunning ADD COLUMN itime timestamp;
ALTER TABLE dunning ALTER COLUMN itime SET DEFAULT now();
UPDATE dunning SET itime = now();

ALTER TABLE dunning ADD COLUMN mtime timestamp;
CREATE TRIGGER mtime_dunning

BEFORE UPDATE ON dunning
FOR EACH ROW
EXECUTE PROCEDURE set_mtime();

UPDATE dunning SET dunning_id = nextval('id');

ALTER TABLE ar RENAME COLUMN dunning_id TO dunning_config_id;
ALTER TABLE ar ADD FOREIGN KEY (dunning_config_id) REFERENCES dunning_config (id);
<<<

  1. dunning_invoices_for_fees.sql: >>>

-- @tag: dunning_invoices_for_fees
-- @description: Konfiguration f&uuml;r das automatische Erzeugen von Rechnungen &uuml;ber Mahngeb&uuml;hren sowie eine Verkn&uuml;pfung zwischen Mahnungen und den dazu erzeugten Rechnungen.
-- @depends: release_2_4_2
LOCK TABLE defaults NOWAIT;
ALTER TABLE defaults ADD COLUMN dunning_create_invoices_for_fees boolean;
ALTER TABLE defaults ADD COLUMN dunning_AR_amount_fee integer;
ALTER TABLE defaults ADD COLUMN dunning_AR_amount_interest integer;
ALTER TABLE defaults ADD COLUMN dunning_AR integer;
UPDATE defaults SET dunning_create_invoices_for_fees = 'f';

LOCK TABLE dunning NOWAIT;
ALTER TABLE dunning ADD COLUMN fee_interest_ar_id integer;
ALTER TABLE dunning ADD FOREIGN KEY (fee_interest_ar_id) REFERENCES ar (id);
<<<

Folgender Output wurde geliefert: >>>

Führe dunning_dunning_id.sql aus: In der Tabelle dunning ist dunning_id falsch benannt und es fehlt eine Spalte, die mehrere Einträge zusammenfasst.

Führe dunning_invoices_for_fees.sql aus: Konfiguration für das automatische Erzeugen von Rechnungen über Mahngebühren sowie eine Verknüpfung zwischen Mahnungen und den dazu erzeugten Rechnungen.

Set-Cookie: kivitendo_rolf_session_id=4e733b3063184f73c3099e2cad83abe1; path=/kivitendo/merge/lx-office-erp Date: Mon, 16 Dec 2013 12:25:24 GMT Content-Type: text/html; charset=UTF-8
[neues Fenster] [drucken] [Ansprechpersonensuche ] [Benutzer: rfluehmann - Mandant: Mandant 1 - abmelden] Montag, der 16.12.2013 -
Fehler!

The database update/creation did not succeed. The file sql/Pg-upgrade2/dunning_invoices_for_fees.sql containing the following query failed:
LOCK TABLE defaults NOWAIT
The error message was: FEHLER: konnte Sperre für Relation »defaults« nicht setzen
All changes in that file have been reverted.
<<<

Da solche Fehler latent sein können, muss dieser nicht auf jedem System und jeder Version reproduzierbar sein.

Änderungshistorie (1)

comment:1 Geändert vor 15 Monaten durch m.bunkus@…

  • Lösung auf invalid gesetzt
  • Status von new nach closed geändert

In der aktuellen unstable ist das Problem nicht nachvollziehbar. Wir können nur für die offizielle Version Support leisten, nicht für solche, die eigene lokale Änderungen enthalten, und definitiv nicht für solche, die auch noch eigene Datenbankanpassungen verwenden. Sorry.

Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.