Weblate のアップグレード¶
Docker イメージのアップグレード¶
公式の Docker イメージ(参照: Docker を使用したインストール)には、Weblate をアップグレードする手順がすべて組み込まれています。通常、最新(または少なくとも新しい)バージョンを入手するだけです。他に必要な操作はありません。
一般的なアップグレード方法¶
アップグレードする前に、必ず ソフトウェア要件 に新しい変更がないか確認してください。すべての要件がインストールまたはアップグレードされたら、settings.py
の設定が変更内容と一致していることを確認してください(正しい値については settings_example.py
を参照してください)。
アップグレードする前に、必ず バージョン別の手順 を確認してください。バージョンをスキップする場合は、アップグレードでスキップしたすべてのバージョンの指示に従ってください。スムーズな移行を確実にするために、段階的に中間バージョンにアップグレードしてください。複数のリリース間でのアップグレードは可能ですが、単一バージョンのアップグレードほど十分なテストはされていません!
注釈
アップグレードが失敗した場合にデータベースをロールバックできるように、アップグレードする前に必ずデータベース全体をバックアップしてください( 参照: Weblate のバックアップと移動)。
アップグレード中に古いプロセスが実行されないように、WSGI および Celery プロセスを停止してください。停止しない場合、データベースに互換性のない変更が発生します。
Weblate のアップグレード
pip によるインストール方法:
uv pip install -U "weblate[all]==version"
または、最新のリリース バージョンを入手するだけの場合:
uv pip install -U "weblate[all]"
すべてのオプションの依存関係をインストールせずに、インストールする方法:
uv pip install -U weblate
Git チェックアウトを使用して、新しいソースコードを取得して、インストールを更新することが必要です。取得と更新方法:
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]'
新しい 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.10.2。
古いメジャー バージョンからのアップグレード¶
メジャーバージョン間のアップグレードには対応していません。初めのメジャーリリースの最新のパッチレベルにアップグレードしてください。この手順を省いたアップグレードには対応していませんので、中断します。
もし、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
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' ;
Pootle から移行¶
Weblate は、そもそも Pootle を置き換えるために開発されたので、Pootle からのユーザー アカウントの移行にも対応しています。Pootle からユーザーをダンプして、importusers
を使用してインポートします。