OpenUpgrade: Definition und Grenzen
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.