먼저 데이터베이스를 만듭니다.
create database mydb;
설치된 Apps에 "south"를 추가합니다. 그런 다음이 자습서로 이동합니다. http://south.aeracode.org/docs/tutorial/part1.html
이 튜토리얼은 다음과 같이 지시합니다.
$ py manage.py schemamigration wall --initial
>>> Created 0001_initial.py. You can now apply this migration with: ./manage.py migrate wall
좋습니다. 이제 마이그레이션합니다.
$ py manage.py migrate wall
하지만이 오류가 발생합니다 ...
django.db.utils.DatabaseError: (1146, "Table 'fable.south_migrationhistory' doesn't exist")
내가 구글 사용 그래서 (. 작동하지 따라서 내 870 질문에 유래에 요청), 나는이 페이지를 얻을 : http://groups.google.com/group/south-users/browse_thread/thread/d4c83f821dd2ca1c
좋아, 그래서 나는 그 지시를 따른다
>> Drop database mydb;
>> Create database mydb;
$ rm -rf ./wall/migrations
$ py manage.py syncdb
하지만 syncdb를 실행하면 Django는 많은 테이블을 생성합니다. 예, south_migrationhistory 테이블 을 생성 하지만 내 앱의 테이블도 생성합니다.
Synced:
> django.contrib.admin
> django.contrib.auth
> django.contrib.contenttypes
> django.contrib.sessions
> django.contrib.sites
> django.contrib.messages
> south
> fable.notification
> pagination
> timezones
> fable.wall
> mediasync
> staticfiles
> debug_toolbar
Not synced (use migrations):
-
(use ./manage.py migrate to migrate these)
멋지다 .... 이제 마이그레이션하라는 메시지가 표시됩니다. 그래서 이렇게합니다.
$ py manage.py migrate wall
The app 'wall' does not appear to use migrations.
좋아, 좋아. 초기 마이그레이션에 벽을 추가하겠습니다.
$ py manage.py schemamigration wall --initial
그런 다음 마이그레이션합니다.
$ py manage.py migrate wall
그거 알아? 이 BS를 제공합니다.
_mysql_exceptions.OperationalError: (1050, "Table 'wall_content' already exists")
죄송합니다. 정말 짜증이납니다. 누군가 도울 수 있습니까? 감사.
South가 모든 작업과 올바르게 동기화되도록하려면 어떻게해야합니까? 내가 생각할 수있는 유일한 것은 INSTALLED_APPS에서 내 앱을 제거한 다음 syncdb를 실행 한 다음 다시 추가하는 것입니다.
정말 SILLY입니다.