Atualizando o Weblate#

Atualizações de imagem Docker#

A imagem Docker oficial (veja Instalando a usar Docker) contém todas as etapas de atualização integradas do Weblate. Normalmente não há nenhuma etapa manual necessária além de puxar a versão mais recente.

Instruções genéricas de atualização#

Antes de atualizar, verifique os atuais Requisitos de software, pois eles podem ter mudado. Uma vez que todos os requisitos estejam instalados ou atualizados, ajuste o seu settings.py para corresponder às mudanças na configuração (consulte settings_example.py para os valores corretos).

Sempre verifique Instruções específicas de versão antes de atualizar. Caso esteja a pular algumas versões, siga as instruções para todas as versões que está a pular nessa atualização. Às vezes, é melhor atualizar para alguma versão intermediária para garantir uma migração tranquila. A atualização em várias versões deve funcionar, mas não é tão bem testada quanto as atualizações de versão única.

Nota

É recomendado fazer um backup completo do banco de dados antes da atualização para que possa reverter o banco de dados caso a atualização falhe, veja Fazer backup e mover o Weblate.

  1. Pare os processos wsgi e Cellery. A atualização pode realizar alterações incompatíveis no banco de dados, por isso é sempre mais seguro evitar a execução de processos antigos durante a atualização.

  2. Atualize o código do Weblate.

    Para instalações pip, isso pode ser alcançado da seguinte forma:

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

    Ou, se quiser apenas obter a versão lançada mais recente:

    pip install -U "Weblate[all]"
    

    Se não quiser instalar todas as dependências opcionais, faça:

    pip install -U Weblate
    

    Com um checkout do Git, precisa obter o novo código-fonte e atualizar a sua instalação:

    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 -r requirements.txt
    # Install optional dependencies directly when not using virtualenv
    pip install --upgrade -r requirements-optional.txt
    
  3. New Weblate release might have new Dependências Python, please check if they cover features you want.

  4. Atualize o ficheiro de configuração, consulte o settings_example.py ou :ref:`version-specific-instructions`para os passos necessários.

  5. Atualize estrutura do banco de dados:

    weblate migrate --noinput
    
  6. Colete ficheiros estáticos atualizados (veja Executar o servidor e Servir ficheiros estáticos):

    weblate collectstatic --noinput --clear
    
  7. Compactar ficheiros JavaScript e CSS (opcional, veja Comprimir os ativos do cliente):

    weblate compress
    
  8. Se está a usar uma versão do Git, também deve gerar novamente ficheiros locais toda vez que estiver atualizando. Pode fazer isso a invocar:

    weblate compilemessages
    
  9. Verifique que a sua configuração é sana (ver também Configuração de produção):

    weblate check --deploy
    
  10. Reinicie o worker do Celery (veja Tarefas de fundo a usar o Celery).

Instruções específicas de versão#

Alterado na versão 5.0: Version specific instructions are now included in the release notes, see Weblate 5.4.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.

Migrando de outros bancos de dados para o PostgreSQL#

Se estiver a executar o Weblate com outro banco de dados que não é o PostgreSQL, deve considerar a migração ao PostgreSQL, pois o Weblate tem melhor desempenho com ele. As etapas a seguir o orientarão na migração dos seus dados entre os bancos de dados. Lembre-se de parar os servidores web e Celery antes da migração, caso contrário, pode acabar com dados inconsistentes.

Criar um banco de dados no PostgreSQL#

Geralmente é uma boa ideia executar o Weblate num banco de dados separado e separar a conta do utilizador:

# 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

Migrar para PostgreSQL usa usargloader#

O pgloader é uma ferramenta de migração genérica para migrar dados para PostgreSQL. Pode usá-lo para migrar o banco de dados Weblate.

  1. Ajuste o seu settings.py para usar o PostgreSQL como banco de dados.

  2. Migre o esquema no banco de dados PostgreSQL:

    weblate migrate
    weblate sqlflush | weblate dbshell
    
  3. Execute o pgloader para transferir os dados. O seguinte script pode ser usado para migrar o banco de dados, mas pode aprender mais sobre pgloader para entender o que ele faz e ajustá-lo para corresponder à sua configuração:

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

Migrando de 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.