Южная таблица джанго уже существует - PullRequest
5 голосов
/ 10 февраля 2011

У меня возникла та же проблема, что и с: django - "manage.py test" не проходит "таблица уже существует"

Схема миграции / миграции работала нормально (хотя некоторые имелипроблемы, которые требовали от меня - фальшивка, но все последующие миграции с юга работают).Но когда я запускаю юнит-тест, я получаю:

(1050, "Table '{tablename}' already exists")

Мне просто интересно, как я могу обойти это и почему это происходит.Единственный ответ, который был дан в вопросе, связанном выше, заключался в том, что юг мог быть исключен из юнит-тестов. Если я это делаю, значит ли это, что я не могу юнит-тестировать с таблицами, управляемыми югом?

Пояснения очень приветствуются:)

Адам

1 Ответ

8 голосов
/ 10 февраля 2011

Нет, это не значит. Не забывайте, что Django уже знает, как должны выглядеть ваши таблицы, если вы создаете их с нуля сейчас - он просто использует определения модели. Юг полезен, поскольку позволяет легко преобразовывать структуру таблиц при изменении моделей, но когда вы запускаете тесты, вас это не волнует: вы просто хотите, чтобы тесты выполнялись в текущих версиях таблиц. *

Так что да, отключите Юг при запуске тестов через SOUTH_TESTS_MIGRATE = False, и Django автоматически создаст таблицы для вас.

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