South--누가 Django가migrate를 못한다고 했어!

1604 단어 django
앞말
최근에 항목을 바꿨습니다. 기존 모델을 변경해야 합니다.Django가 자체로 가지고 있는syncdb는 데이터베이스만 만들 수 있지만 변경된 모델 응용 프로그램의 데이터베이스에는 만들 수 없습니다.
대략 2년 전에 이 문제를 만났을 때 인터넷의 답안은 기본적으로 모두 자신이 수동으로 데이터베이스에 들어가서 수정한 것이다.그런데 이번에 뒤져보니 신기인 South가 발견됐어요.
 
 
빨리 시작
South는 무엇일까요? 쉽게 말하면migration을 실현하는 플러그인입니다.Rails를 사용한 사람은 Rails가 자체적으로migrate 기능을 가지고 있다는 것을 알아야 한다. 데이터베이스에 이미 있는 데이터에 영향을 주지 않고 모델을 수정할 수 있다.South가 이거 하는 거야.
 
이 플러그인은 비교적 간단하기 때문에, 나는 당시의 용법을 써서, 모두가 초보적으로 이해할 수 있다.자세한 내용은 Google South에서 직접 확인하시기 바랍니다.
 
설치:
easy_install south

 
구성:
Django 프로젝트의 settings.py 안에 있는 InstalledAPPS의 마지막 행에'south'를 추가합니다.
 
사용:
데이터가 있으므로 다음을 실행합니다.
python manage.py syncdb
python manage.py convert_to_south base

베이스는 내가 데이터를 저장하는 앱이다.
이렇게 하면south의 설치 설정과 초기화가 완성됩니다.
 
이제 모델을 수정할 수 있습니다.
 
수정이 완료되면 다음을 실행합니다.
python manage.py schemamigration base

migration을 생성합니다.
주의: 이 단계는migration을 생성했을 뿐 데이터베이스에 적용되지 않았습니다.
그런 다음 다음,
python manage.py migrate base

이렇게 하면migrate를 데이터베이스에 응용할 수 있다.
 
우리는 데이터베이스에 들어가서 수동으로 한 번 볼 수 있는데, 확실히 바뀌었다는 것을 발견했다.
 
2. 총결산
south라는 물건, 뭐랄까, 나는 신기만 형용할 수 있다고 생각한다.데이터가 있는 프로젝트에 직면하고 모델을 수정하고 싶을 때 한 걸음 잘못 걷다가 데이터를 잃어버릴까 봐 조심스러워하는 느낌이 얼마나 아픈지 알아야 한다!south는 마치 보호신 같아, 너에게 말해줄게: 안심하고 고쳐!

좋은 웹페이지 즐겨찾기