Сначала я создаю свою базу данных.
create database mydb;
Я добавляю "юг" к установленным приложениям. Затем я перехожу к этому руководству: 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")
Поэтому я использую Google (который никогда не работает, поэтому мои 870 вопросов заданы в Stackoverflow), и я получаю эту страницу: 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")
Извините, меня это действительно раздражает. Может кто-нибудь помочь? спасибо.
Как я могу заставить Юг работать и правильно синхронизировать со всем? Единственное, о чем я могу думать, это удалить мое приложение из INSTALLED_APPS, затем запустить syncdb, а затем добавить его обратно.
Это SO SILLY.