2013-11-21 2 views
1

개발에서, 내가 사용 해요 :장고 모델을 웹 서버에 배포 한 후 장고 모델을 어떻게 변경합니까? 내 장고 응용 프로그램의 기본 모델을 변경할 때마다

  1. 는 개발 서버를 중지 기존 데이터베이스 $를 실행
  2. 을 삭제 MySQL은
  3. > 파이썬 manage.py syncdb
  4. $을 실행하여 개발 서버를 다시 시작> 파이썬 manage.py의 경우 runserver

일단 WSGI를 사용하여 배포그러나 Apache는 개발 서버를 실행하지 않습니다. 따라서, 나는 서버를 중지하는 방법을 알고, 그냥 실행하지 않습니다

$을> 파이썬 manage.py의 syncdb

가의 인스턴스를 기본 MySQL 데이터베이스를 업데이트하지 않은 것으로 보입니다 모델. 따라서 전체 인스턴스를 해체하지 않아도 데이터베이스를 어떻게 업데이트합니까?

참고 : 전에 전에 "원시"를 사용하여 DB 마이그레이션에 대해 배웠으므로 원시 장고를보고 있습니다.

답변

4

Django에는 (아직!) 마이그레이션 프레임 워크가 내장되어 있지 않으므로 "원시 django for migrations"같은 것이 없습니다.

결과적으로 SQL을 사용하여 수동으로 테이블을 변경하거나 south를 사용합니다.

자, 내 추천은 south입니다.

+0

수동으로 Mysql에서 TABLE을 변경한다는 의미입니까? 그렇다면 서비스를 중단하고 다시 시작해야합니까? –

+0

@AffableGeek 예, 그게, 그렇습니다. 두 번째 질문에 대한 답을 얻으려면 [MySQL 문서에서이 페이지의 저장소, 성능 및 동시성 고려 사항] (http://dev.mysql.com/doc/refman/5.1/en/alter-table)을 읽어보십시오. .html). 또한,'south'는 실제로 데이터베이스에'ALTER TABLE'을 발행 할 것입니다. –

+0

@AffableGeek 사실 뒤에 남을 추가 할 수 있습니다. 당신이 기뻐하실 겁니다. –

관련 문제