/ / Django South - не слід додати до бази даних зовнішній ключ і унікальні відносини? - django, django-model, django-south

Django South - Чи не слід додавати зовнішні ключі та унікальні зв'язки з базою даних? - джанго, джанго-моделі, джанго-південь

У мене є база даних MySQL, яка використовується якоснова для веб-додатку Django. Спочатку він використовував двигун MyISAM для всіх таблиць, але через вимоги до зовнішніх ключів, я змінив всі таблиці на InnoDB, і додав зовнішні ключі та унікальні поля до відповідних моделей.

Я незабаром експортую цю розробкубази даних на виробничому сервері, тому я використав Південну для перенесення моделей даних до db. Однак я бачу, що жодна з таблиць не має явних обмежень PK, FK та Unique в полях таблиці, але вони відображаються у файлі 0001_initial.py, створеному сценарієм початкових міграцій.

Я виконав міграцію через

./manage.py schemamigration app --initial
./manage.py migrate app

Received Table Exists error, reran with --fake flag
./manage.py migrate app --fake
./manage.py migrate app

Остання команда виконана без помилок. Так що моє запитання, не слід таблиць мають явні обмеження, встановлені після виконання міграції даних?

Відповіді:

0 для відповіді № 1

При виконанні фальшивих міграцій це означаєМіграції підроблені в базі даних. Південь припускає міграцію (міграція у ваш файл 0001_initial.py) завершена. Отримана таблиця існує помилка, тому що деякі з таблиць, які ви збираєтеся створити, існують у базі даних.