Weblate upgraden

Docker image upgraden

De officiële Weblate Docker image (bekijk Installeren met Docker) integreert alle stappen voor upgraden. Gewoonlijk is geen handmatige interactie nodig, behoudens het ophalen van de laatste (of ten minste nieuwere) versie.

Algemene instructies voor upgraden

Zoek altijd naar nieuwe wijzigingen in Software vereisten voor het upgraden. Als eenmaal alle vereisten zijn geïnstalleerd of geüpgraded, zorg er dan voor dat uw settings.py overeenkomt met de wijzigingen in de configuratie (raadpleeg settings_example.py voor de juiste waarden).

Controleer altijd Versie-specifieke instructies voor het upgraden. Als u versies overslaat, zorg ervoor dat u de instructies volgt voor alle versies die u overslaat gedurende een dergelijke upgrade. Het is soms beter om geleidelijk te upgraden naar een tussenliggende versie om te zorgen voor een gladde migratie. Upgraden over meerdere uitgaven zou kunnen werken, maar is niet zo goed getest als upgraden van een enkele versie!

Notitie

Maak altijd een back-up van de volledige database voor het upgraden, zodat u de database terug kunt zetten als het upgraden mislukt, bekijk Weblate back-uppen en verplaatsen.

  1. Stop de processen voor WSGI en Celery om te vermijden dat oude processen worden uitgevoerd tijdens het upgraden. Anders zouden er niet compatibele wijzigingen in de database kunnen optreden.

  2. Weblate upgraden

    Voor installeren met pip kan het worden bereikt met:

    uv pip install -U "weblate[all]==version"
    

    Of, als u slechts de laatste uitgegeven versie wilt ophalen:

    uv pip install -U "weblate[all]"
    

    Als u niet alle optionele afhankelijkheden wilt installeren, doe dan:

    uv pip install -U weblate
    

    Met checkout van Git moet u nieuwe broncode ophalen en uw installatie bijwerken:

    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]'
    
  3. Nieuwe uitgaven van Weblate zouden nieuwe Python afhankelijkheden kunnen hebben, controleer of die van toepassing zijn voor de mogelijkheden die u wilt gebruiken.

  4. Upgrade het configuratiebestand door ofwel settings_example.py te volgen, of Versie-specifieke instructies.

  5. Upgraden van de database:

    weblate migrate --noinput
    
  6. Verzameln bijgewerkte statische bestanden (bekijk Server uitvoeren en Statische bestanden serveren):

    weblate collectstatic --noinput --clear
    
  7. Comprimeer bestanden van JavaScript en CSS (optioneel, bekijk Comprimeren toebehoren cliënt):

    weblate compress
    
  8. Als u een installatie vanuit Git uitvoert, zou u ook lokale bestanden opnieuw moeten genereren, elke keer als u upgradet. U kunt dat doen door aan te roepen:

    weblate compilemessages
    
  9. Verifieer dat uw opstelling gezond is (bekijk ook Productie opstelling):

    weblate check --deploy
    
  10. Start de werker van Celery opnieuw (bekijk Achtergrondtaken met Celery).

Versie-specifieke instructies

Veranderd in versie 5.0: Versie specifieke instructies zijn nu opgenomen in de opmerkingen voor de uitgave, bekijk Weblate 5.11.

Upgrade vanuit een oudere majeure versie

Upgrades over majeure versies worden niet ondersteund. Upgrade altijd naar het laatste patchniveau van de initiële majeure uitgave. Upgrades die deze stap overslaan worden niet ondersteund en zullen defect raken.

  • Als u upgradet vanuit de uitgave 2.x, upgrade altijd eerst naar 3.0.1.

  • Als u upgradet vanuit de uitgave 3.x, upgrade altijd eerst naar 4.0.4.

  • Als u upgradet vanuit de uitgave 4.x, upgrade altijd eerst naar 5.0.2.

Migreren vanuit andere databases naar PostgreSQL

Als u Weblate uitvoert met een andere database dan PostgreSQL, denk dan eens aan het migreren naar PostgreSQL voor betere prestaties door de volgende stappen uit te voeren. Denk eraan om, van tevoren, de servers voor web en Celery beide te stoppen, anders zou u kunnen eindigen met inconsistente gegevens.

Een database maken in PostgreSQL

Het is gewoonlijk een goed idee om Weblate uit te voeren in een afzonderlijke database en met een afzonderlijk gebruikersaccount:

# 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

Migreren naar PostgreSQL met pgloader

De pgloader is een algemeen migratieprogramma voor het migreren van gegevens naar PostgreSQL. U kunt het gebruiken om uw database van Weblate te migreren.

  1. Pas uw settings.py aan om PostgreSQL als database te gebruiken.

  2. Migreer het schema in de PostgreSQL database:

    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'
;

Migreren vanuit Pootle

Weblate werd origineel geschreven als een vervanging voor Pootle, het wordt ondersteund om de gebruikersaccounts daaruit te migreren. U kunt de gebruikers uit Pootle dumpen en ze importeren met importusers.