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.
Stoppa WSGI- och Celery-processerna för att undvika att gamla processer körs under uppgraderingen. Annars kan inkompatibla ändringar i databasen uppstå.
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 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]'
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 5.15.2.
Uppgradering från en äldre huvudversion¶
Uppgraderingar mellan större versioner stöds inte. Uppgradera alltid till den senaste patchnivån för den ursprungliga större versionen. Uppgraderingar som hoppar över detta steg stöds inte och kommer att sluta fungera.
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.
Migrera från andra databaser till PostgreSQL¶
Om du kör Weblate med en annan databas än PostgreSQL bör du överväga att migrera till PostgreSQL för bättre prestanda genom att följa dessa steg. Kom ihåg att stänga av både webb- och Celery-servrarna i förväg, annars kan det uppstå inkonsekvenser i 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.