DE · AT · CHGlossar

OpenUpgrade: Definition und Grenzen

Aktualisiert:

Gilt für: OpenUpgrade bis Zweig 19.0 (18.0 auf 19.0, Stand 14.10.2026); Community Edition auf eigener Installation; Module openupgrade_framework und openupgrade_scripts

Kurz gesagt

OpenUpgrade ist ein Projekt der Odoo Community Association und die quelloffene Migrationsstrecke für die Community Edition von Odoo: Je Schritt hebt es eine Datenbank um genau eine Hauptversion, etwa von 18.0 auf 19.0. Vorausgesetzt wird eine Odoo-Installation je Version, die Sie selbst betreiben; für Odoo Online und Odoo.sh nennt die Odoo-Dokumentation den Upgrade-Dienst der Plattform.

Das Wichtigste

  • Projekt der OCA unter github.com/OCA/OpenUpgrade; Repository unter AGPL-3.0, jedes Modul kann abweichen.
  • Je OpenUpgrade-Zweig ein Versionsschritt: Zweig 19.0 hebt von 18.0 auf 19.0; Überspringen ist nicht unterstützt.
  • Zwei Module: openupgrade_framework für die Patches, openupgrade_scripts für Analyse und Migrationsskripte.
  • Beide Manifeste verlangen die Python-Bibliothek openupgradelib als externe Abhängigkeit.
  • Abdeckung je Modul: Status Done, Nothing to do oder leer (noch nicht abgedeckt).
  • Alte Tabellen und Spalten bleiben nach dem Lauf als openupgrade_legacy_ in der Datenbank.

OpenUpgrade ist ein Projekt der Odoo Community Association (OCA), das für die quelloffene Odoo Community eine Migrationsstrecke bereitstellt: Es hebt eine Datenbank von einer Hauptversion auf die nächste.

Wie OpenUpgrade arbeitet

Die Zweige des Repositorys tragen seit OpenUpgrade 14.0 zwei Module unter der Lizenz AGPL-3: openupgrade_framework bringt die Patches mit, die eine Hauptversion migrationsfähig machen, openupgrade_scripts enthält je Modul die Analyse der Datenmodell-Änderungen und die Migrationsskripte pre-migration.py und post-migration.py. Vollständige Abdeckung aller offiziellen Odoo-Module ist das erklärte Projektziel, nicht der erreichte Stand; fehlt für ein installiertes Modul das Skript, warnt die Dokumentation vor einer fehlgeschlagenen Migration oder leidender Datenintegrität. Beide Module stellt man im Addons-Pfad der Zielversion bereit; als serverweites Modul geladen wird laut Dokumentation nur openupgrade_framework, über den Parameter --load=base,web,openupgrade_framework im Aufruf --update all --stop-after-init. Beide Manifeste verlangen die Python-Bibliothek openupgradelib.

Beispiel (angenommen)

Ein Betrieb hebt eine selbst betriebene Community-Datenbank von 18.0 auf 19.0: Er sichert sie, legt eine Kopie an, stellt den Zweig 19.0 aus dem OpenUpgrade-Repository in den Addons-Pfad der Odoo-19.0-Installation und ruft odoo-bin mit den genannten Parametern auf. Danach prüft er in der Abdeckungsliste den Status der installierten Module und sucht im Datenbankschema Tabellen mit dem Präfix openupgrade_legacy_.

Wo die Grenzen liegen

Die Abdeckungsliste für 18.0 auf 19.0 enthält 653 Einträge: 93 mit dem Status Done (fertig), 168 mit Nothing to do (nichts zu tun), 300 noch ohne Status, dazu 50 als neu und 42 als entfallen markiert (abgerufen am 14. Oktober 2026). Ein leerer Status bedeutet nach der Legende, dass das Modul noch nicht abgedeckt ist (Not covered yet).

Grenze Was sie bedeutet
Ein Schritt je Hauptversion Überspringen ist nicht unterstützt; für mehrere Stufen läuft jede Migration nacheinander.
Edition Die Dokumentation begründet das Projekt mit der quelloffenen Community Edition; für Enterprise nennt die Odoo-Dokumentation den Upgrade-Dienst.
Eigene Installation Verlangt eine startbare Odoo-Instanz je Version, openupgradelib und den Aufruf von odoo-bin.
Modulabdeckung Fehlt für ein installiertes Modul das OpenUpgrade-Skript, kann die Migration fehlschlagen oder die Datenintegrität leiden.
Eigene Module Für eigene und OCA-Module entwickeln Sie die Skripte im migration-Ordner des Moduls selbst.
Restschema Alte Tabellen und Spalten bleiben als openupgrade_legacy_ in der Datenbank (laut Dokumentation eine konservative Sicherung).

Die jüngste Hauptversion ist Odoo 20.0 (Freigabe September 2026). Mit dem Stand vom 14. Oktober 2026 war dazu im OpenUpgrade-Repository ein Zweig 20.0 angelegt, er enthielt aber noch keines der beiden Module; die jüngste Zweiglinie mit Skripten war 19.0.

Womit OpenUpgrade nicht zu verwechseln ist

  • Nicht der Upgrade-Dienst von Odoo S.A.: Er liegt unter upgrade.odoo.com und ist in der Dokumentation 20.0 (abgerufen am 14. Oktober 2026) als kostenlose Leistung mit Enterprise-Abonnement beschrieben; laut OpenUpgrade-Dokumentation sind seine Migrationsskripte nicht quelloffen.
  • Nicht das Rolling Release auf Odoo Online: Dort führt Odoo S.A. das Upgrade nach Fristablauf automatisch durch, wenn Sie nichts unternehmen (Dokumentation 20.0).
  • Nicht ein Neuaufbau mit Datenexport: Er übernimmt nach Darstellung der OpenUpgrade-Dokumentation nur einen Teil der Daten, ohne Verlauf und Verknüpfungen.

Lizenz und Länder

Der Begriff benennt ein Werkzeug, keine Pflicht. Das Repository steht unter AGPL-3.0, jedes Modul kann laut README eine abweichende Lizenz im Manifest tragen. Für Deutschland, Österreich und die Schweiz nennen die geöffneten Dokumente keine Abweichung. Den Ablauf mit Prüfschritten beschreibt Odoo Community upgraden mit OpenUpgrade.

Häufige Fragen

Kann ich mit OpenUpgrade eine Version überspringen?

Nein. Die Dokumentation hält fest, dass das Überspringen von Versionen nicht unterstützt wird: Jeder Zweig hebt eine Datenbank auf seine eigene Version, also 18.0 auf 19.0. Mehrere Stufen sind möglich, aber nur nacheinander. Der Upgrade-Dienst von Odoo S.A. nennt dagegen das Upgrade von jeder Version auf eine Hauptversion, die noch unterstützt wird.

Läuft OpenUpgrade auf Odoo Online oder Odoo.sh?

Für diese beiden Hostingmodelle ist es nicht der vorgesehene Weg. Die Dokumentation verlangt, dass Sie je Version des Pfads eine Odoo-Instanz starten, den Addons-Pfad erweitern und odoo-bin mit serverweiten Modulen aufrufen können. Auf Odoo Online stößt der Datenbankmanager das Upgrade der Plattform an, Odoo.sh ist mit der Upgrade-Plattform verbunden (Dokumentation 20.0).

Was passiert mit Modulen ohne Migrationsskript?

Die Abdeckungsliste führt je Modul den Status; ein leerer Status bedeutet laut Legende, dass das Modul noch nicht abgedeckt ist (Not covered yet). Die Dokumentation warnt, dass die Migration fehlschlagen oder die Integrität der Datenbank leiden kann, wenn für installierte Module keine Skripte vorliegen. Fehlende Skripte entwickeln Sie im migration-Ordner des Moduls oder prüfen offene Pull Requests.

Quellen

  1. README, Branch 19.0: Tools to upgrade Odoo instances from a major version to anotherOdoo Community Association (OCA), GitHub · abgerufen am
  2. Introduction (OpenUpgrade-Dokumentation): What is OpenUpgrade, Migration from one version to the next, Openupgrade designOdoo Community Association (OCA) · abgerufen am
  3. Required Knowledge (OpenUpgrade-Dokumentation)Odoo Community Association (OCA) · abgerufen am
  4. Coverage Analysis (OpenUpgrade-Dokumentation): Warnung bei Modulen ohne MigrationsskriptOdoo Community Association (OCA) · abgerufen am
  5. Module coverage 18.0 -> 19.0 (docsource, Branch 19.0): Status je ModulOdoo Community Association (OCA), GitHub · abgerufen am
  6. Running the migration (OpenUpgrade-Dokumentation): empfohlene Startparameter und AblaufOdoo Community Association (OCA) · abgerufen am
  7. After migration (OpenUpgrade-Dokumentation): verbleibende Tabellen und SpaltenOdoo Community Association (OCA) · abgerufen am
  8. Manifest des Moduls openupgrade_framework, Branch 19.0 (Fassung 19.0.1.0.0)Odoo Community Association (OCA), GitHub · abgerufen am
  9. Manifest des Moduls openupgrade_scripts, Branch 19.0 (Fassung 19.0.1.0.0)Odoo Community Association (OCA), GitHub · abgerufen am
  10. Upgrade (Dokumentation 20.0, deutsch): Upgrade-Dienst, Testdatenbank, Rolling Release, SLAOdoo S.A. · abgerufen am
  11. Standard and extended support (Dokumentation 20.0): Freigabedaten und Unterstützungsdauer je HauptversionOdoo S.A. · abgerufen am