Weblate 업그레이드¶
Docker 이미지 업그레이드¶
공식 Weblate Docker 이미지 ( Docker를 사용한 설치 참조)는 모든 업그레이드 단계를 통합합니다. 일반적으로 최신(또는 최소한 더 새로운) 버전을 가져오는 것 외에 수동 작업이 필요하지 않습니다.
더 보기
일반 업그레이드 지침¶
업그레이드하기 전에 항상 소프트웨어 요구사항 의 새 변경사항을 확인하세요. 모든 요구사항이 설치되거나 업그레이드되면 settings.py 가 설정의 변경사항과 일치하는지 확인하세요 (올바른 값은 settings_example.py 를 참조).
업그레이드 전에 항상 버전별 지침 를 확인하세요. 버전을 건너뛰는 경우 해당 업그레이드 중 건너뛰는 모든 버전에 대한 지침을 따르세요. 원활한 마이그레이션을 위해 중간 버전으로 점진적으로 업그레이드하는 것이 나을 때도 있습니다. 여러 릴리스를 건너뛰는 업그레이드도 작동하지만 단일 버전 업그레이드만큼 잘 테스트되지 않습니다!
참고
업그레이드 전에 항상 전체 데이터베이스를 백업하여 업그레이드 실패 시 데이터베이스를 롤백할 수 있도록 하세요 ( Weblate 백업 및 이전 참조).
Celery 큐가 비워질 때까지 기다린 다음 WSGI 및 Celery 프로세스를 중지하여 업그레이드 중 이전 프로세스가 실행되지 않도록 하세요. 그렇지 않으면 데이터베이스에서 호환되지 않는 변경이 발생할 수 있습니다.
Celery 작업 큐는 릴리스 간에 안정적인 인터페이스가 아니므로 이전 버전의 큐에 대기 중인 작업은 업그레이드 후 작동이 보장되지 않습니다. 관리 인터페이스 또는
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
Git에서 설치를 실행하는 경우 업그레이드할 때마다 로케일 파일도 재생성해야 합니다. 다음을 호출하여 수행할 수 있음:
weblate compilemessages설정이 정상인지 확인하세요 ( 프로덕션 설정 도 참조):
weblate check --deploy
Celery 워커를 다시 시작합니다 ( Celery를 사용한 백그라운드 작업 참조).
Some upgrades run translation-memory scope backfill and consolidation in the background using periodic Celery tasks. Keep Celery running after the upgrade and monitor progress in Administration > Performance report. See 번역 메모리 범위 for details.
버전별 지침¶
버전 5.0에서 변경: 버전별 지침은 이제 릴리스 노트에 포함됩니다 ( Weblate 2026.8 참조).
지원되지 않는 오래된 릴리스에서 업그레이드¶
직접 업그레이드는 현재 또는 이전 역년의 릴리스에서만 지원됩니다. 이 경계를 넘어 업그레이드해야 한다면 먼저 아래에 나열된 중간 버전으로 업그레이드하세요. 이 단계를 건너뛰는 업그레이드는 지원되지 않으며 손상됩니다.
2.x 릴리스에서 업그레이드하는 경우 항상 먼저 3.0.1로 업그레이드하세요.
3.x 릴리스에서 업그레이드하는 경우 항상 먼저 4.0.4로 업그레이드하세요.
4.x 릴리스에서 업그레이드하는 경우 항상 먼저 5.0.2로 업그레이드하세요.
5.0.x-5.9.x에서 업그레이드하는 경우 항상 먼저 5.10.4로 업그레이드하세요.
5.10.x 이상에서의 업그레이드는 현재 직접 지원됩니다.
다른 데이터베이스에서 PostgreSQL로 마이그레이션¶
경고
Weblate에서 MySQL과 MariaDB는 더 이상 지원되지 않습니다. 업그레이드하기 전에 PostgreSQL로 마이그레이션해야 합니다.
MySQL 또는 MariaDB로 Weblate를 실행 중인 경우 다음 단계를 수행하여 성능 향상을 위해 PostgreSQL로 마이그레이션하는 것을 고려하세요. 웹 서버와 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 데이터베이스를 마이그레이션하는 데 사용할 수 있습니다.
settings.py를 조정하여 데이터베이스로 PostgreSQL을 사용하도록 합니다.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 를 사용하여 가져올 수 있습니다.