У мене є база даних 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) завершена. Отримана таблиця існує помилка, тому що деякі з таблиць, які ви збираєтеся створити, існують у базі даних.