Aktualisieren von Weblate¶
Aktualisieren des Docker-Images¶
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 dem Upgrade immer die versionsspezifischen Anweisungen. Wenn Sie eine Version überspringen, befolgen Sie unbedingt die Anweisungen für alle Versionen, die Sie während eines solchen Upgrades ü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 Sichern und Verschieben von Weblate.
Die WSGI- und Celery-Prozesse stoppen, um zu vermeiden, dass alte Prozesse während des Upgrades weiterlaufen. Andernfalls kann es zu inkompatiblen Änderungen in der Datenbank kommen.
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 virtualenv . ~/weblate-env/bin/uv pip install -e '.[all]' # Install dependencies directly when not using virtualenv uv pip install --upgrade -e . # Install optional dependencies directly when not using virtualenv 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 Bereitstellung statischer Dateien):
weblate collectstatic --noinput --clear
JavaScript- und CSS-Dateien komprimieren (optional, siehe Client-Assets komprimieren):
weblate compress
Wenn 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 5.10.1.
Upgrade von einer älteren Hauptversion¶
Upgrades zwischen Hauptversionen werden nicht unterstützt. Aktualisieren Sie immer auf den neuesten Patch-Level für die erste Hauptversion. Upgrades, die diesen Schritt überspringen, werden nicht unterstützt und führen zu Fehlern.
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.
Migration von anderen Datenbanken zu PostgreSQL¶
Wenn Sie Weblate mit einer anderen Datenbank als PostgreSQL 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.
Erstellen einer Datenbank in PostgreSQL¶
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
Migration zu PostgreSQL mit pgloader¶
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.py
anpassen, 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' ;
Migration von Pootle¶
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.