2

django-cms를 실행하는 Django 사이트와 local dev (현재 repo에 위탁 된 sqlite DB), staging (mysql) 및 prod (mysql)의 세 환경이 있습니다. 프로젝트에는 데이터베이스에 자체 테이블이있는 다른 django 응용 프로그램이 있으며 스키마 변경은 사우스 마이 그 레이션을 통해 관리됩니다.django-cms 환경에서 데이터 관리

"git flow"프로세스를 사용하여 개발합니다. 즉, 기능이 분기에서 개발되고 완료되면 "개발"분기로 병합됩니다. 배포 관점에서 개발 브랜치는 웹 사이트의 준비 버전에 매핑됩니다.

django-cms의 데이터 마이그레이션을 수동으로 생성하거나 준비/prod 데이터베이스를 변경하여 loaddata으로 변경하는 것을 포함하지 않는 환경에서 데이터를 관리하는 방법을 알고 싶습니다.

이 용도로 좋은 전략은 무엇입니까? 사우스 데이터 마이그레이션을 생성하는 준 자동화 된 방법이 있습니까? 또는 django-cms가 다른 환경에 페이지를 게시하도록하는 방법은 무엇입니까?

답변

1

여러 프로젝트에서 똑같은 설정을 실행하지만 개발자, 스테이지 또는 프로덕션간에 데이터를 마이그레이션하는 일은 거의 없습니다.

개발 환경이 테스트 데이터로 지저분 해지고 무대 환경이 개발 코드 및 생산에 지장을주는 데이터로 지저분 해집니다. 희망적으로 생산이 깨끗하고 깔끔하게 유지된다는 것을 의미합니다.

이러한 이동 데이터는 신중하게 수행해야하며 오류가있는 데이터가 프로덕션 데이터베이스로 이동하는 경우이를 자동화하지 않아야합니다.

프로덕션 환경에 배포하기 전에 스테이징 환경에서 클라이언트에게 데모하거나 "최종"테스트를 수행하는 데 필요한 중요한 정보가있는 경우 해당 특정 앱의 south와 함께 데이터 마이그레이션을 수행하고 배포하는 것이 좋습니다 해당 데이터 마이그레이션

CMS 페이지 설정과 같은 다른 유형의 데이터 마이그레이션의 경우 게시 할 CMS 초안 모드로 설정하는 것이 좋습니다.

관련 문제