Erstellt vor 9 Jahren

Geschlossen vor 9 Jahren

Zuletzt geändert vor 9 Jahren

#279 closed Fehler (invalid)

Datenbank updaten

Erstellt von: LAeS@… Verantwortlicher: p.reetz@…
Priorität: normal Meilenstein:
Komponente: kivitendo ERP Version: 2.2-testing
Schweregrad: normal Stichworte: Migration
Beobachter: s.koehler@…

Beschreibung

Um die version lx-erp2.2 zu nutzen führte ich ein DB-update durch. dabei kam es
zu folgendem Fehler.
User/besitzer der db ist scheinbar egal
(lx-erp 2.1.1 angelegt, sowie mit lx-erp 2.1.2test... [wie bekommt man die
genaue version raus])
folgender Fehler wird ausgegeben:

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

auch nach dem nachdem entfernen der spalte "obsolete" ensteht ein/der fehler:

Error!
update table vendor set obsolete='false'
ERROR: syntax error at or near "table" at character 8

Ich habe das erst mit einer ziemlich gefüllten db ausprobiert, sowie spaeter mit
neu angelegten.

bis dann (dg)

Änderungshistorie (7)

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

Ist mir auch mit verschiedenen 2.1.2 db passiert.
Es gibt scheinbar verschiedene 212-Datenbankversionen.

Leider bricht das Updatescript bei jedem Fehler ab.
Kann man nicht Fehlerprioritäten einführen?
Der Versuch eine Spalte einzufügen, wenn sie schon vorhanden ist,
sollte nicht zum Abbruch führen, sondern nur eine Warnung ausgeben.

comment:2 Geändert vor 9 Jahren durch p.reetz@…

Passieren die Fehler auch mit einer 2.1.1 Datenbank?
Das automatische Update der Datenbank funktioniert nur zwischen zwei stabilen
Versionen.
Die verschiedenen 2.1.2-Datenbankstände sind Zwischenstände auf dem Weg zur 2.2.
Sie enthalten zum Teil bereits Änderungen, zum Teil auch Änderungen die jetzt
nicht mehr enthalten sind.

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

  • Beobachter s.koehler@… hinzugefügt
  • Status von new nach assigned geändert

(Mit Bezug zu comment 0)

Um die version lx-erp2.2 zu nutzen führte ich ein DB-update durch. dabei kam es
zu folgendem Fehler.
User/besitzer der db ist scheinbar egal
(lx-erp 2.1.1 angelegt, sowie mit lx-erp 2.1.2test... [wie bekommt man die
genaue version raus])

Wenn du KEINE SVN-Version hast, dann steht in der SL/Form.pm
in der Routine

sub new {
...

$self->{version} = "2.1.x";
$self->{dbversion} = "2.1.y";

..
}

einmal die Versionsnummer und die Datenbankversion deiner Ursprungsversion!

folgender Fehler wird ausgegeben:

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

auch nach dem nachdem entfernen der spalte "obsolete" ensteht ein/der fehler:

Error!
update table vendor set obsolete='false'
ERROR: syntax error at or near "table" at character 8

Das Löschen der Spalte ist nicht nötig für ein Update!

Ich habe das erst mit einer ziemlich gefüllten db ausprobiert, sowie spaeter mit
neu angelegten.

Kam der Fehler auch bei einer neu angelegeten Datenbank - mit Version 2.2.0???

bis dann (dg)

Das Problem läßt sich vermutlich nur auf eine Art und Weise lösen:

Achtung Verlust von DATEN möglich - ohne GEWÄHR!!!

Manuell die Änderungen aus der sql/Pg-upgrade-2.1.2-2.2.0.sql ab der Zeile
"--New Fields for customer and vendor" per psql einspielen.

Das sollte dann gehen!

Schreib mal bitte, ob das dann ging!!!

comment:4 Geändert vor 9 Jahren durch hli@…

Kommt nur bei einem Update von 2.1.2 auf 2.2.0 vor.

Das zurücksetzen der Versionsnummer in der db wird nicht zum Erfolg führen.

Ein manuelles upgrade durch:

psql -U postgres datenbanl < Pg-upgrade-2.1.2-2.2.0.sql

bringt zwar auch die Fehler hoch, aber auch das gewünschte Ergebnis.

Konsequenz kann nur sein, keine Upgrades für Zwischenversionen zu bringen oder
das vorhandensein abzufragen oder bestimmte Fehler zuzulassen oder auch kleinere
Upgrades durchzuführen.

comment:5 Geändert vor 9 Jahren durch p.reetz@…

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

Updates von Entwicklerdatenbankschemata werden nicht automatisiert unterstützt.

comment:6 Geändert vor 9 Jahren durch LAeS@…

(Mit Bezug zu comment 4)

Kommt nur bei einem Update von 2.1.2 auf 2.2.0 vor.

Kann ich nicht bestaetigen,
bei meiner 2.1.1 (erstinstallation) entsteht auch der|ein fehler.

comment:7 Geändert vor 9 Jahren durch LAeS@…

(Mit Bezug zu comment 3)

Wenn du KEINE SVN-Version hast, dann steht in der SL/Form.pm

...
Danke!

Kam der Fehler auch bei einer neu angelegeten Datenbank - mit Version 2.2.0???

Wie soll das den gehen? ich dachte es geht um das db-update.

ging alles!!!

wer ist eigentlich der "Mann" hinter der DB?

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