2017-01-17 6 views
1

Я создал веб-приложение с использованием Django. Я не очень доволен этим и хотел бы экспортировать/перевести целиком Модель Django, которую я создал как оператор SQL.Экспортировать модель/классы Django в оператор SQL

Я знаю, что следующий оператор печатает на оператор SQL для дополнительных изменений в базу данных:

python manage.py sqlmigrate polls 0001 

Но как экспортировать начальный (весь) модели в файл SQL?

Теоретически, я мог бы просто экспортировать дамп SQL непосредственно из базы данных. Но моя база данных стала грязной (дополнительные таблицы), а мой models.py - это чистая формулировка исходной базы данных.

+0

Насколько я знаю, 'python manage.py sql', которая сделала то, что вы хотите, устарела, поскольку Django 1.8 – TheWaveLad

ответ

1
  1. Переименовать папку migrations в foo так Джанго не может найти его (или удалить его полностью, если вы храбры)
  2. удалить или переименовать таблицу django_migrations
  3. python manage.py migrate --fake
  4. python manage.py makemigrations polls
  5. python manage.py sqlmigrate polls 0001
+0

Это не работает. После первой команды он говорит: «Никакие миграции не применяются. У ваших моделей есть изменения, которые еще не отражены в миграции, и поэтому не будут применяться. Запустите «manage.py makemigrations», чтобы выполнить новые миграции, а затем повторно запустите «manage.py migrate», чтобы применить их. «После второго:' CommandError: App 'mainapp' не имеет миграции' – Ratnanil

+0

@ Ratnanil Я думаю, что я пропустил шаг. Возможно, вам нужно будет переименовать таблицу 'django_migrations' –

+0

, при которой теперь происходит миграция, но ошибка« ComandError: App ... »все еще появляется. Вы знаете, почему? – Ratnanil