команда migrate на юге вызывает эту ошибку: таблица "имя_модели" уже существует - PullRequest
3 голосов
/ 20 февраля 2012

У меня есть проект с именем HubHub, который содержит 2 приложения с именами DrHub и AgencyHub, когда смена моделей syncdb не меняет их, и я попытался использовать south: в settings.py:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'grappelli',
    'django.contrib.admin',
    'south',
    'AgencyHub',
    'DrHub',
)

Я выполнил первую команду для настройки первой миграции на основе этого учебника: http://south.aeracode.org/docs/tutorial/part1.html

python manage.py schemamigration DrHub --initial

и второй команды:

python manage.py migrate DrHub

, но эта команда вызываетэта ошибка:

table "model_name" already exist

"имя_модели" - это имя первой модели models.py в DrHub

Если вы нашли какое-либо решение, отправьте ответ.

заранее спасибо

Ответы [ 2 ]

3 голосов
/ 20 февраля 2012

Это потому, что первоначальная миграция создаст все таблицы в базе данных для вас.И у вас есть база данных с существующими таблицами.Вы можете либо стереть вашу базу данных, а затем выполнить миграцию, либо вам нужно использовать параметр --fake в миграции.Документы здесь

python manage.py migrate DrHub --fake
0 голосов
/ 20 февраля 2012

Пожалуйста, удалите таблицу базы данных и попробуйте создать синхронизирующую базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...