Спочатку я створюю свою базу даних.
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, а потім знову додати.
Це ТАК ГУРНО.