Actualizarea Weblate

Actualizări ale imaginilor Docker

Imaginea oficială Docker (vezi Instalarea folosind Docker) are integrate toate etapele de actualizare Weblate. De obicei, nu sunt necesari pași manuali în afară de extragerea celei mai recente versiuni.

Instrucțiuni generice de actualizare

Înainte de actualizare, vă rugăm să verificați cerințele actuale Cerințe software, deoarece acestea s-ar putea să se fi schimbat. După ce toate cerințele sunt instalate sau actualizate, vă rugăm să ajustați fișierul settings.py pentru a corespunde modificărilor din configurație (consultați settings_example.py pentru valorile corecte).

Verificați întotdeauna Instrucțiuni specifice versiunii înainte de actualizare. În cazul în care săriți peste unele versiuni, vă rugăm să urmați instrucțiunile pentru toate versiunile pe care le săriți în actualizare. Uneori este mai bine să faceți upgrade la o versiune intermediară pentru a asigura o migrare fără probleme. Actualizarea pe mai multe versiuni ar trebui să funcționeze, dar nu este la fel de bine testată ca actualizările pe o singură versiune.

Notă

Este recomandat să efectuați o copie de rezervă completă a bazei de date înainte de actualizare, astfel încât să puteți reface baza de date în cazul în care actualizarea eșuează; consultați Copierea de rezervă și mutarea Weblate.

  1. Opriți procesele wsgi și Celery. Actualizarea poate efectua modificări incompatibile în baza de date, așa că este întotdeauna mai sigur să evitați procesele vechi care rulează în timpul actualizării.

  2. Actualizați codul Weblate.

    În cazul instalațiilor pip, acest lucru poate fi realizat prin:

    pip install -U "Weblate[all]==version"
    

    Sau, dacă doriți doar să obțineți cea mai recentă versiune lansată:

    pip install -U "Weblate[all]"
    

    Dacă nu doriți să instalați toate dependențele opționale, instalați-le:

    pip install -U Weblate
    

    Cu Git checkout, trebuie să preluați noul cod sursă și să vă actualizați instalarea:

    cd weblate-src
    git pull
    # Update Weblate inside your virtualenv
    . ~/weblate-env/bin/pip install -e '.[all]'
    # Install dependencies directly when not using virtualenv
    pip install --upgrade -e .
    # Install optional dependencies directly when not using virtualenv
    pip install --upgrade -e '.[all]'
    
  3. New Weblate release might have new Dependențe Python, please check if they cover features you want.

  4. Actualizați fișierul de configurare, consultați settings_example.py sau Instrucțiuni specifice versiunii pentru pașii necesari.

  5. Actualizarea structurii bazei de date:

    weblate migrate --noinput
    
  6. Colectează fișierele statice actualizate (a se vedea Rularea serverului și Servirea fișierelor statice):

    weblate collectstatic --noinput --clear
    
  7. Comprimarea fișierelor JavaScript și CSS (opțional, consultați Comprimarea activelor clienților):

    weblate compress
    
  8. Dacă executați versiunea din Git, ar trebui, de asemenea, să regenerați fișierele locale de fiecare dată când faceți actualizări. Puteți face acest lucru prin invocarea:

    weblate compilemessages
    
  9. Verificați dacă configurația dumneavoastră este sănătoasă (consultați și Configurarea producției):

    weblate check --deploy
    
  10. Reporniți Celery worker (vezi Sarcini de fundal folosind Celery).

Instrucțiuni specifice versiunii

Schimbat în versiunea 5.0: Version specific instructions are now included in the release notes, see Weblate 5.5.1.

Upgrade from an older major version

Upgrades across major versions are not supported. Always upgrade to the latest patch level for the initial major release. Upgrades skipping this step are not supported and will break.

  • If you are upgrading from the 2.x release, always first upgrade to 3.0.1.

  • If you are upgrading from the 3.x release, always first upgrade to 4.0.4.

  • If you are upgrading from the 4.x release, always first upgrade to 5.0.2.

Migrarea de la alte baze de date la PostgreSQL

Dacă executați Weblate pe o altă bază de date decât PostgreSQL, ar trebui să luați în considerare migrarea la PostgreSQL, deoarece Weblate funcționează cel mai bine cu acesta. Următorii pași vă vor ghida în migrarea datelor între bazele de date. Vă rugăm să nu uitați să opriți ambele servere Web și Celery înainte de migrare, altfel s-ar putea să vă treziți cu date incoerente.

Crearea unei baze de date în PostgreSQL

De obicei, este o idee bună să executați Weblate într-o bază de date separată și într-un cont de utilizator separat:

# 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

Migrarea la PostgreSQL folosind pgloader

pgloader este un instrument generic de migrare a datelor către PostgreSQL. Îl puteți utiliza pentru a migra baza de date Weblate.

  1. Ajustați fișierul settings.py pentru a utiliza PostgreSQL ca bază de date.

  2. Migrați schema din baza de date PostgreSQL:

    weblate migrate
    weblate sqlflush | weblate dbshell
    
  3. Rulați pgloader pentru a transfera datele. Următorul script poate fi folosit pentru a migra baza de date, dar poate doriți să aflați mai multe despre pgloader pentru a înțelege ce face și pentru a-l adapta la configurația dumneavoastră:

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

Migrarea de la Pootle

As Weblate was originally written as replacement from Pootle, it is supported to migrate user accounts from Pootle. You can dump the users from Pootle and import them using importusers.