Weblate のアップグレード¶
Docker イメージのアップグレード¶
公式の Docker イメージ(参照: Docker を使用したインストール)には、Weblate をアップグレードする手順がすべて組み込まれています。通常、最新バージョンを入手するだけです。他に必要な操作はありません。
一般的なアップグレード方法¶
アップグレードをする前に、現在の ソフトウェア要件 に変更があるかもしれないので確認してください。すべての要件がインストールまたは更新されたあと、設定の変更に合わせて settings.py
を設定してください(正しい値については settings_example.py
を確認)。
アップグレードする前に、必ず バージョン固有の手順 を確認してください。バージョンをスキップする場合は、アップグレードでスキップしたすべてのバージョンの指示に従ってください。スムーズな移行を確実にするために、中間バージョンにアップグレードする方が良い場合があります。複数のリリース間でのアップグレードは機能するはずですが、単一バージョンのアップグレードほど十分なテストされていません。
注釈
アップグレードが失敗した場合、データベースをロールバックできるように、アップグレードの前に完全なデータベース バックアップを実行してください( 参照: Weblate のバックアップと移動)。
wsgi および Celery プロセスを停止します。アップグレードは、データベースで互換性のない変更を実行することがあるため、アップグレード中に古いプロセスが実行されないようにする方が常に安全です。
Weblate のコードをアップグレードする。
pip によるインストール方法:
pip install -U "Weblate[all]==version"
または、最新のリリース バージョンを入手するだけの場合:
pip install -U "Weblate[all]"
すべてのオプションの依存関係をインストールせずに、インストールする方法:
pip install -U Weblate
Gitチェックアウトでは、新しいソースコードを取得して、インストールを更新することが必要です。取得と更新方法:
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]'
新しい Weblate のリリースには、新しい Python の依存関係 が含まれていることがあります。必要な機能が含まれていることを確認してください。
設定ファイルをアップグレードするための、必要な手順については、
settings_example.py
または バージョン固有の手順 を確認してください。データベース構造をアップグレードする:
weblate migrate --noinput
更新された静的ファイルを収集する(参照: 実行サーバー および 静的ファイルの提供):
weblate collectstatic --noinput --clear
JavaScript ファイルと CSS ファイルを圧縮する(省略可能、参照: クライアント アセットの圧縮):
weblate compress
Git のバージョンを実行している場合は、アップグレードするたびに言語ファイルを再生成してください。再生成させるコマンド:
weblate compilemessages
設定が正常であるかを確認する(参照: 運用環境の設定):
weblate check --deploy
Celery ワーカーを再起動する(参照: Celery を使用するバックグラウンド タスク)。
バージョン固有の手順¶
バージョン 5.0 で変更: バージョン固有の指示は、リリースノートに含まれるようになりました。参照: Weblate 5.5.1。
古いメジャー バージョンからのアップグレード¶
メジャーバージョン間のアップグレードには対応していません。初めのメジャーリリースの最新のパッチレベルにアップグレードしてください。この手順を省いたアップグレードには対応していませんので、中断します。
もし、2.x リリースからアップグレードする場合は、必ず最初に 3.0.1 にアップグレードしてください。
もし、3.x リリースからアップグレードする場合は、必ず最初に 4.0.4 にアップグレードしてください。
もし、4.x リリースからアップグレードする場合は、必ず最初に 5.0.2 にアップグレードしてください。
他のデータベースから PostgreSQL に移行¶
PostgreSQL 以外のデータベースで Weblate を実行している場合は、Weblate が最適に動作できるように PostgreSQL への移行を検討してください。次の手順に従って、データベース間でデータを移行します 。移行前に Web サーバと Celery サーバの両方を停止させてください。停止していない場合は、データの不整合が発生することがあります。
PostgreSQL でデータベースの作成¶
通常は、Weblate を専用のデータベースと、専用のユーザーアカウントで実行してください。設定例:
# 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
pgloader を使用した PostgreSQL への移行¶
pgloader は、PostgreSQL にデータを移行するための一般的な移行ツールです。この機能を使用して、Weblate データベースを移行します。
PostgreSQL をデータベースとして使用するように
settings.py
を調整する。PostgreSQL データベース内のスキーマを移行する:
weblate migrate weblate sqlflush | weblate dbshell
pgloader を実行してデータを転送します。以下のスクリプトを使用してデータベースを移行する(できれば、pgloader の機能を理解し、設定に合わせて修正してください):
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' ;
Pootle から移行¶
Weblate は、そもそも Pootle を置き換えるために開発されたので、Pootle からのユーザー アカウントの移行にも対応しています。Pootle からユーザーをダンプして、importusers
を使用してインポートします。