Erstellt vor 9 Jahren

Geschlossen vor 9 Jahren

#288 closed Fehler (fixed)

Beim Upgrade von 2.1.x auf 2.2.0 kommt es zum DB-Fehler

Erstellt von: s.koehler@… Verantwortlicher: p.reetz@…
Priorität: sehr hoch Meilenstein:
Komponente: kivitendo ERP Version: 2.2
Schweregrad: kritisch Stichworte: Migration
Beobachter: s.koehler@…, kmk@…, mailbox@…

Beschreibung

Beim Upgrade von Lx-Office 2.1.x auf 2.2.0 kommt es zu folgender Fehlermeldung:


Error!
alter table vendor add column obsolete boolean
ERROR: column "obsolete" of relation "vendor" already exists


Eine Anmeldung am System ist danach aus Sicherheitsgründen gesperrt, weil das
Datenbankupgrade schief ging.


Die Ursache dafür ist ein Fehler im Datenbankupgradeskript.


Der Fehler kann UMGANGEN (nicht behoben) werden, indem das Datenbankschema
manuell aktualisiert wird und das System danach in der Adminmaske entsperrt wird.

MACHEN SIE BITTE VORHER EIN BACKUP!!!

http://wiki.lx-office.org/index.php/Daten_Backup_Lx-Office_ERP


  1. Datenbankschema manuell aktualisieren!

psql -U dbuser datenbank < sql/Pg-upgrade-2.1.2-2.2.0.sql

  1. System entsperren

Datei users/nologin löschen


Das Lx-Office-Team arbeitet an einem Patch für dieses Problem und wird diesen
demnächst zur Verfügung stellen bzw. eine aktualisierte Version herausbringen.

Änderungshistorie (5)

comment:1 Geändert vor 9 Jahren durch mailbox@…

»
» Upgrading Dataset geschaeft ...
» Error!
» update table vendor set obsolete='false'
» FEHLER: Fehler »syntax error« bei »table« at character 8
»


kommt wahrscheinlich aus dem Script:


/usr/lib.../sql/Pg-upgrade-2.1.1-2.1.2.sql:

-New Fields for customer and vendor
alter table vendor add column obsolete boolean;
alter table vendor alter column obsolete set default 'false';
update table vendor set obsolete='false';
alter table customer add column obsolete boolean;
alter table customer alter column obsolete set default 'false';
update table customer set obsolete='false';
alter table customer add column ustid varchar(12);
alter table vendor add column ustid varchar(12);



Laut SQL Referenz:
UPDATE [ ONLY ] table SET column = { expression | DEFAULT } [, ...]


Parameters
table
The name (optionally schema-qualified) of the table to update.


heißt doch, dass table beim Befehl UPDATE aus dem Script entfernt werden

müssen??

Michael

comment:2 Geändert vor 9 Jahren durch s.koehler@…

  • Beobachter kmk@… hinzugefügt

* #290 has been marked as a duplicate of this bug. *

comment:3 Geändert vor 9 Jahren durch s.koehler@…

  • Beobachter mailbox@… hinzugefügt

* #296 has been marked as a duplicate of this bug. *

comment:4 Geändert vor 9 Jahren durch s.koehler@…

* #297 has been marked as a duplicate of this bug. *

comment:5 Geändert vor 9 Jahren durch s.koehler@…

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

Behoben siehe #297

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