(management_commands)= # 관리 명령 (wagtail_start)= ## start 기본적으로 `start` 명령은 `models.py`, 템플릿, 설정(settings) 파일이 포함된 프로젝트 템플릿을 생성합니다. 예를 들어, `mysite` 라는 새 Wagtail 프로젝트를 생성하려면 다음과 같이 명령을 사용합니다: ```sh wagtail start mysite ``` `start` 명령에 `--template` 옵션을 사용하여 사용자 정의 템플릿을 생성할 수도 있습니다. 명령이 기본 템플릿 및 사용자 정의 템플릿과 어떻게 작동하는지에 대한 자세한 내용은 [`The project template`](project_templates_reference)을 참조하세요. (publish_scheduled)= ## publish_scheduled ```sh ./manage.py publish_scheduled ``` 이 명령은 편집자가 예약한 작업을 가진 객체(object)를 게시, 업데이트 또는 게시 취소합니다. 이 명령을 한 시간마다 실행하는 것을 권장합니다. (fixtree)= ## fixtree ```sh ./manage.py fixtree ``` 이 명령은 데이터베이스의 오류를 스캔하고 발견된 모든 문제를 수정하려고 시도합니다. (move_pages)= ## move_pages ```sh manage.py move_pages from to ``` 이 명령은 페이지(page) 선택 항목을 트리의 한 섹션에서 다른 섹션으로 이동합니다. 옵션: - **from** 이것은 페이지를 이동할 페이지의 **ID**입니다. 이 페이지의 모든 하위 항목은 대상(destination)으로 이동됩니다. 작업이 완료되면 이 페이지에는 자식(children)이 없습니다. - **to** 이것은 페이지를 이동할 페이지의 **ID**입니다. (purge_revisions)= ## purge_revisions ```sh manage.py purge_revisions [--days=<삭제할 일수>] [--pages] [--non-pages] ``` 이 명령은 검토 중이거나, 활성화(live) 상태이거나, 활성화가 승인되었거나, 최신 리비전(revision)이 아닌 오래된 리비전을 삭제합니다. `days` 인수가 제공되면 지정된 일수보다 오래된 리비전만 삭제됩니다. 중요한 리비전이 오래되어 삭제되는 것을 방지하려면 {attr}`on_delete=models.PROTECT ` 를 사용하여 모델의 `ForeignKey` 로 해당 리비전을 참조할 수 있습니다. `pages` 인수가 제공되면 페이지 모델의 리비전만 삭제됩니다. `non-pages` 인수가 제공되면 페이지 모델이 아닌 리비전만 삭제됩니다. 두 인수가 모두 제공되거나 둘 다 제공되지 않으면 모든 모델의 리비전이 삭제됩니다. 리비전 삭제를 원하지 않는 경우 `Revision` 을 `on_delete=models.PROTECT` 로 표시하세요. (purge_embeds)= ## purge_embeds ```sh manage.py purge_embeds ``` 이 명령은 데이터베이스에서 캐시된 모든 임베드(embed) 객체를 삭제합니다. 임베드 설정(settings)이 변경된 후에는 이 명령을 실행하여 이후의 임베드 사용이 데이터베이스 캐시에서 이루어지지 않도록 하는 것이 좋습니다. (update_index)= ## update_index ```sh ./manage.py update_index [--backend <백엔드 이름>] ``` 이 명령은 검색 인덱스(search index)를 처음부터 다시 빌드합니다. 이 명령은 일주일에 한 번, 그리고 다음 경우에 실행하는 것을 권장합니다: - 스크립트를 통해 페이지(page)가 생성된 경우 (예: 가져오기(import) 후) - 모델(model) 또는 검색(search) 구성이 변경된 경우 이 명령이 실행되는 동안 검색이 결과를 반환하지 않을 수 있으므로, 사용량이 많은 시간에는 실행을 피하세요. ### 업데이트할 백엔드(backend) 지정 기본적으로 `update_index` 는 `WAGTAILSEARCH_BACKENDS` 에 나열된 모든 검색 인덱스를 다시 빌드합니다. 여러 백엔드를 사용하고 있으며 그 중 하나만 업데이트하려면 `--backend` 옵션을 사용할 수 있습니다. 예를 들어, 기본 백엔드만 업데이트하려면: ```sh python manage.py update_index --backend default ``` `--chunk_size` 옵션은 한 번에 인덱싱되는 청크(chunk)의 크기를 설정하는 데 사용될 수 있습니다. 기본값은 1000이지만, 문서 크기가 더 큰 경우에는 줄여야 할 수도 있습니다. ### 스키마(schema)만 인덱싱 `--schema-only` 옵션을 사용하여 `update_index` 명령이 데이터를 인덱싱하지 못하도록 할 수 있습니다: ```sh python manage.py update_index --schema-only ``` ### 명령 조용하게 실행 `--verbosity 0` 을 인수로 제공하여 콘솔 로그를 방지할 수 있습니다: ```sh python manage.py update_index --verbosity 0 ``` 이것을 생략하거나 0보다 큰 숫자를 제공하면 동일한 로그가 생성됩니다. (wagtail_update_index)= ## wagtail_update_index 이것은 [Haystack](https://haystacksearch.org/)과 같이 다른 설치된 패키지에서 `update_index` 라는 명령을 제공할 때 사용할 수 있는 `update_index` 명령의 별칭(alias)입니다. 이 경우, 다른 패키지의 `INSTALLED_APPS` 항목은 `wagtail.search` 위에 나타나서 해당 패키지의 `update_index` 명령이 Wagtail의 명령보다 우선순위를 갖도록 해야 합니다. ## rebuild_references_index ```sh ./manage.py rebuild_references_index ``` 이 명령은 이미지(image), 문서(document) 및 스니펫(snippet)에 대한 사용 보고서에 사용되는 객체 간의 교차 참조를 추적하는 테이블을 채웁니다. 이 테이블은 객체 저장 시 자동으로 업데이트되지만, 데이터 일관성을 유지하기 위해 이 명령을 주기적으로 실행하는 것을 권장합니다. ### 명령 조용하게 실행 `--verbosity 0` 을 인수로 제공하여 콘솔 로그를 방지할 수 있습니다: ```sh python manage.py rebuild_references_index --verbosity 0 ``` ## show_references_index ```sh ./manage.py show_references_index ``` 이것은 참조 인덱스(references index) 내용의 요약을 표시합니다. 이 명령은 각 모델(model) 유형에 대해 인덱싱된 객체(object) 수를 보여주며, 인덱스를 다시 빌드하지 않고 어떤 모델이 인덱싱되는지 식별하는 데 유용할 수 있습니다. (wagtail_update_image_renditions)= ## wagtail_update_image_renditions ```sh ./manage.py wagtail_update_image_renditions ``` 이 명령은 이미지(image) 렌디션(rendition)을 재생성하는 기능을 제공합니다. 이는 이미지 렌디션이 아직 생성되지 않은 서버에 배포했거나, 기본 이미지 렌디션 동작을 변경하여 모든 렌디션을 다시 생성해야 할 때 유용합니다. 이것은 사용되지 않는 렌디션 이미지를 제거하지 않습니다. 이것은 `rm -rf` 등과 같이 폴더를 지워서 수행할 수 있으며, 이 작업이 완료되면 관리 명령을 사용하여 렌디션을 생성할 수 있습니다. 옵션: - `--purge-only` : 이 인수는 모든 이미지 렌디션을 재생성하지 않고 삭제합니다. 렌디션은 다음에 요청될 때 재생성됩니다. (convert_mariadb_uuids)= ## convert_mariadb_uuids ```sh ./manage.py convert_mariadb_uuids ``` MariaDB를 사용하는 사이트의 경우, 이 명령은 Django 5.0 및 MariaDB 10.7로 업그레이드할 때 이전 버전의 Django 또는 MariaDB에서 한 번 실행해야 합니다. 이는 Django 5.0이 MariaDB의 네이티브 UUID 유형을 지원하기 시작하면서 이전 버전의 Django 및 MariaDB에서 사용되던 `CHAR` 기반 UUID와의 하위 호환성이 깨지기 때문에 필요합니다. Django 5.0+ 및 MariaDB 10.7+에서 새로 생성된 사이트는 영향을 받지 않습니다.