Можно ли заставить команду Django syndb НЕ пытаться создать фактические внешние ключи в базе данных? - PullRequest
0 голосов
/ 16 декабря 2010

Я не эксперт по Django, но из того, что я могу понять, нет никакого способа сказать, что syndb не пытается запустить операторы ALTER для создания ограничений внешнего ключа для базы данных.

Я недавно пытался обновить установку MySQL Cluster с 7.0.6 до последней версии 7.1.9a. Это обнаружило ошибку в этом последнем выпуске MySQL, в которой конструкции внешнего ключа НЕ игнорируются на движках, которые не поддерживают их, как это было в предыдущих версиях. Это определенно ошибка MySQL, которую я им отправил, и они подтвердили ее действительность.

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

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

Любой вклад или идеи приветствуются.

Ответы [ 2 ]

0 голосов
/ 16 декабря 2010

Вы можете запустить python manage.py sqlall app_name, удалить ограничения ALTER FK и загрузить SQL вручную.

0 голосов
/ 16 декабря 2010

Юг может сделать это (http://south.aeracode.org/)

. Вы можете сделать схему миграции, а затем отредактировать миграцию вручную, не используя конструкции FK. Вы также можете создать свои собственные правила самоанализа на Юге, которые автоматизируют это,Полагаю, это может помешать вашей автоматизации syncdb.

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