Weblate aktualisieren¶
Docker-Image aktualisieren¶
Das offizielle Weblate-Docker-Image (siehe Installation über Docker) integriert alle Aktualisierungsschritte. Außer dem Abrufen der neuesten (oder zumindest neueren) Version ist normalerweise keine manuelle Interaktion erforderlich.
Siehe auch
Allgemeine Upgrade-Anweisungen¶
Suchen Sie immer nach neuen Änderungen der Softwareanforderungen, bevor Sie ein Upgrade durchführen. Sobald alle Anforderungen installiert oder aktualisiert sind, stellen Sie sicher, dass die settings.py mit den Änderungen in der Konfiguration übereinstimmt (siehe settings_example.py für korrekte Werte).
Prüfen Sie vor einem Upgrade immer die versionsspezifischen Anweisungen. Wenn Sie eine Version überspringen, befolgen Sie unbedingt die Anweisungen für alle Versionen, die Sie bei einem solchen Upgrade überspringen. Manchmal ist es besser, schrittweise auf eine Zwischenversion zu aktualisieren, um eine reibungslose Migration zu gewährleisten. Upgrades über mehrere Versionen hinweg sollten funktionieren, sind aber nicht so gut getestet wie Upgrades einzelner Versionen!
Bemerkung
Sichern Sie immer die gesamte Datenbank, bevor Sie ein Upgrade durchführen, damit Sie die Datenbank zurücksetzen können, wenn das Upgrade fehlschlägt, siehe Weblate sichern und verschieben.
Abwarten, bis die Celery-Warteschlangen leer sind, und dann die WSGI- und Celery-Prozesse anhalten, um zu vermeiden, dass alte Prozesse während des Upgrades weiterlaufen. Andernfalls kann es zu inkompatiblen Änderungen in der Datenbank kommen.
Die Celery-Aufgabenwarteschlange ist keine über unterschiedliche Versionen hinweg stabile Schnittstelle, sodass nicht garantiert werden kann, dass in der Warteschlange befindliche Aufgaben aus der alten Version nach dem Upgrade noch funktionieren. Sie können die Länge der Warteschlange über die Verwaltungsoberfläche oder mithilfe von
celery_queuesüberwachen.Weblate aktualisieren
Bei Pip-Installationen kann dies erreicht werden durch:
uv pip install -U "weblate[all]==version"
Oder wenn Sie einfach nur die neueste Version erhalten möchten:
uv pip install -U "weblate[all]"
Wenn Sie nicht alle optionalen Abhängigkeiten installieren möchten, tun Sie dies:
uv pip install -U weblate
Mithilfe von Git-Checkout müssen Sie den neuen Quellcode abrufen und Ihre Installation aktualisieren:
cd weblate-src git pull # Update Weblate inside your Python environment . ~/weblate-env/bin/uv pip install -e '.[all]' # Install dependencies directly when not using Python environment uv pip install --upgrade -e . # Install optional dependencies directly when not using a Python environment uv pip install --upgrade -e '.[all]'
Neue Weblate-Versionen haben möglicherweise neue Python-Abhängigkeiten, prüfen Sie, ob diese die gewünschten Funktionen abdecken.
Die Konfigurationsdatei aktualisieren, indem Sie entweder
settings_example.py, oder Versionsspezifische Anweisungen befolgen.Die Datenbank aktualisieren:
weblate migrate --noinput
Aktualisierte statische Dateien sammeln (siehe Laufender Server und Statische Dateien bereitstellen):
weblate collectstatic --noinput --clear
JavaScript- und CSS-Dateien komprimieren (optional, siehe Client-Assets komprimieren):
weblate compressWenn Sie eine Installation von Git aus betrieben, sollten bei jedem Upgrade auch die Gebietsschemadateien neu generiert werden. Dies kann durch folgenden Aufruf erfolgen:
weblate compilemessagesÜberprüfen, ob Ihre Einrichtung in Ordnung ist (siehe auch Produktionseinrichtung):
weblate check --deploy
Die Celery-Worker neu starten (siehe Hintergrundaufgaben mit Celery).
Versionsspezifische Anweisungen¶
Geändert in Version 5.0: Versionsspezifische Anweisungen sind jetzt in den Versionshinweisen enthalten, siehe Weblate 2026.5.
Upgrade from an older unsupported release¶
Direct upgrades are only supported for releases from the current or previous calendar year. If you need to upgrade across this boundary, upgrade first to an intermediate version as listed below. Upgrades skipping this step are not supported and will break.
Wenn Sie ein Upgrade von der Version 2.x durchführen, sollten Sie immer zuerst auf 3.0.1 aktualisieren.
Wenn Sie ein Upgrade von der Version 3.x durchführen, sollten Sie immer zuerst auf 4.0.4 aktualisieren.
Wenn Sie ein Upgrade von der Version 4.x durchführen, sollten Sie immer zuerst auf 5.0.2 aktualisieren.
If you are upgrading from 5.0.x-5.9.x, always first upgrade to 5.10.4.
Upgrades from 5.10.x and newer are currently directly supported.
Von anderen Datenbanken zu PostgreSQL migrieren¶
Warnung
MySQL und MariaDB werden von Weblate nicht mehr unterstützt. Sie müssen auf PostgreSQL migrieren, bevor Sie ein Upgrade durchführen.
Wenn Sie Weblate mit MySQL oder MariaDB betreiben, sollten Sie eine Migration zu PostgreSQL in Erwägung ziehen, um eine bessere Leistung zu erzielen, indem Sie die folgenden Schritte durchführen. Denken Sie daran, vorher sowohl den Web- als auch den Celery-Server zu stoppen, da es sonst zu inkonsistenten Daten kommen kann.
Eine Datenbank in PostgreSQL erstellen¶
In der Regel ist es ratsam, Weblate in einer separaten Datenbank und einem separaten Benutzerkonto zu betreiben:
# If PostgreSQL was not installed before, set the main password
sudo -u postgres psql postgres -c "\password postgres"
# Create a database user called "weblate"
sudo -u postgres createuser -D -P weblate
# Create the database "weblate" owned by "weblate"
sudo -u postgres createdb -E UTF8 -O weblate weblate
Zu PostgreSQL mit pgloader migrieren¶
Der pgloader ist ein allgemeines Migrationswerkzeug für die Migration von Daten nach PostgreSQL. Sie können es verwenden, um Ihre Weblate-Datenbanken zu migrieren.
settings.pyanpassen, um PostgreSQL als Datenbank zu verwenden.Das Schema in der PostgreSQL-Datenbank migrieren:
weblate migrate weblate sqlflush | weblate dbshell
3. Run the pgloader to transfer the data. The following script can be used to migrate the database, but you might want to learn more about pgloader to better understand what it does, and tweak it to match your setup:
LOAD DATABASE FROM mysql://weblate:password@localhost/weblate INTO postgresql://weblate:password@localhost/weblate WITH include no drop, truncate, create no tables, create no indexes, no foreign keys, disable triggers, reset sequences, data only ALTER SCHEMA 'weblate' RENAME TO 'public' ;
Von Pootle migrieren¶
Da Weblate ursprünglich als Ersatz für Pootle geschrieben wurde, ist es möglich, Benutzerkonten von Pootle zu migrieren. Sie können die Benutzer aus Pootle auslagern und sie mit importusers importieren.