Uppgradering av Weblate¶
Uppgradering av Docker-bilder¶
Den officiella Weblate Docker-bilden (se Installera med Docker) integrerar alla uppgraderingssteg. Normalt behövs ingen manuell interaktion utöver att hämta den senaste (eller åtminstone nyare) versionen.
Generella uppgraderingsinstruktioner¶
Leta alltid efter nya ändringar i Programvarukrav innan du uppgraderar. När alla krav har installerats eller uppgraderats, se till att din settings.py matchar ändringarna i konfigurationen (se settings_example.py för korrekta värden).
Kontrollera alltid Versionsspecifika instruktioner innan du uppgraderar. Om du hoppar över några versioner, se till att följa instruktionerna för alla versioner du hoppar över under uppgraderingen. Ibland är det bättre att uppgradera gradvis till en mellanversion för att säkerställa en smidig migrering. Uppgradering över flera versioner bör fungera, men är inte lika väl testat som uppgradering av en enda version!
Observera
Säkerhetskopiera alltid hela databasen innan du uppgraderar, så att du kan återställa databasen om uppgraderingen misslyckas, se Säkerhetskopiera och flytta Weblate.
Wait for the Celery queues to become empty, then stop the WSGI and Celery processes to avoid old processes running while upgrading. Otherwise incompatible changes in the database might occur.
The Celery task queue is not a stable interface across releases, so queued tasks from the old version are not guaranteed to work after the upgrade. You can monitor queue length in the Hanteringsgränssnitt or by using
celery_queues.Uppgradera Weblate
För pip-installationer kan detta uppnås genom:
uv pip install -U "weblate[all]==version"
Eller, om du bara vill hämta den senaste versionen:
uv pip install -U "weblate[all]"
Om du inte vill installera alla valfria beroenden gör du så här:
uv pip install -U weblate
Med Git checkout måste du hämta ny källkod och uppdatera din installation:
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]'
Nya Weblate-versioner kan ha nya Python-beroenden, kontrollera om de täcker de funktioner du vill ha.
Uppgradera konfigurationsfilen genom att följa antingen
settings_example.pyeller Versionsspecifika instruktioner.Uppgradera databasen:
weblate migrate --noinput
Samla in uppdaterade statiska filer (se Körande server och Servering av statiska filer):
weblate collectstatic --noinput --clear
Komprimera JavaScript- och CSS-filer (valfritt, se Komprimering av klientresurser):
weblate compressOm du kör en installation från Git bör du också regenerera lokaliseringsfilerna varje gång du uppgraderar. Du kan göra detta genom att anropa:
weblate compilemessagesKontrollera att din konfiguration är korrekt (se även Produktionsuppsättning):
weblate check --deploy
Starta om Celery-arbetaren (se Bakgrundsuppgifter med Celery).
Versionsspecifika instruktioner¶
Förändrat i version 5.0: Versionsspecifika instruktioner finns nu med i release notes, se 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.
Om du uppgraderar från version 2.x ska du alltid först uppgradera till 3.0.1.
Om du uppgraderar från version 3.x ska du alltid först uppgradera till 4.0.4.
Om du uppgraderar från version 4.x ska du alltid först uppgradera till 5.0.2.
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.
Migrera från andra databaser till PostgreSQL¶
Varning
MySQL and MariaDB are no longer supported in Weblate. You must migrate to PostgreSQL before upgrading.
If you are running Weblate with MySQL or MariaDB, consider migrating to PostgreSQL for better performance by doing the following steps. Remember to stop both, the web and Celery servers beforehand, otherwise you might end up with inconsistent data.
Skapa en databas i PostgreSQL¶
Det är vanligtvis en bra idé att köra Weblate i en separat databas och med ett separat användarkonto:
# 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
Migrera till PostgreSQL med pgloader¶
pgloader är ett generiskt migreringsverktyg för att migrera data till PostgreSQL. Du kan använda det för att migrera din Weblate-databas.
Justera din
settings.pyför att använda PostgreSQL som databas.Migrera schemat i PostgreSQL-databasen:
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' ;
Migrera från Pootle¶
Eftersom Weblate ursprungligen skrevs som en ersättning för Pootle, stöds migrering av användarkonton från Pootle. Du kan dumpa användarna från Pootle och importera dem med importusers.