Weblate のアップグレード¶
Docker イメージのアップグレード¶
公式の Docker イメージ(参照: Docker を使用したインストール)には、Weblate をアップグレードする手順がすべて組み込まれています。通常、最新(または少なくとも新しい)バージョンを入手するだけです。他に必要な操作はありません。
一般的なアップグレード方法¶
アップグレードする前に、必ず ソフトウェア要件 に新しい変更がないか確認してください。すべての要件がインストールまたはアップグレードされたら、settings.py の設定が変更内容と一致していることを確認してください(正しい値については settings_example.py を参照してください)。
アップグレードする前に、必ず バージョン別の手順 を確認してください。バージョンをスキップする場合は、アップグレードでスキップしたすべてのバージョンの指示に従ってください。スムーズな移行を確実にするために、段階的に中間バージョンにアップグレードしてください。複数のリリース間でのアップグレードは可能ですが、単一バージョンのアップグレードほど十分なテストはされていません!
注釈
アップグレードが失敗した場合にデータベースをロールバックできるように、アップグレードする前に必ずデータベース全体をバックアップしてください( 参照: Weblate のバックアップと移動)。
Wait for the Celery queues to become empty, then stop the WSGI and Celery processes to avoid old processes running while upgrading. Otherwise incompatible changes in the database might occur.
The Celery task queue is not a stable interface across releases, so queued tasks from the old version are not guaranteed to work after the upgrade. You can monitor queue length in the 管理画面 or by using
celery_queues.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 Python environment . ~/weblate-env/bin/uv pip install -e '.[all]' # Install dependencies directly when not using Python environment uv pip install --upgrade -e . # Install optional dependencies directly when not using a Python environment 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 2026.5。
Upgrade from an older unsupported release¶
Direct upgrades are only supported for releases from the current or previous calendar year. If you need to upgrade across this boundary, upgrade first to an intermediate version as listed below. Upgrades skipping this step are not supported and will break.
もし、2.x リリースからアップグレードする場合は、必ず最初に 3.0.1 にアップグレードしてください。
もし、3.x リリースからアップグレードする場合は、必ず最初に 4.0.4 にアップグレードしてください。
もし、4.x リリースからアップグレードする場合は、必ず最初に 5.0.2 にアップグレードしてください。
If you are upgrading from 5.0.x-5.9.x, always first upgrade to 5.10.4.
Upgrades from 5.10.x and newer are currently directly supported.
他のデータベースから PostgreSQL に移行¶
警告
Weblate では MySQL および MariaDB への対応は終了しました。アップグレードする前に PostgreSQL へ移行する必要があります。
MySQL または MariaDB で 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 を使用してインポートします。