Django — Как автоматически создать структуру таблиц БД с нуля, если она была удалина?
Django 1.9.7 - Удалил директорию с миграциями и таблицу в бд - модели. Как восстановить структуру таблиц модели? Сначала делаю makemigrations, затем migrate, получаю ошибку о том, что таблица не найдена. Вручную создавать? или есть автоматизированый способ? если есть, то какой?
Очистил, затем делаю makemigrations, затем migrate, получаю ошибку: relation "django_content_type" already exists. migrate --fake выполнилось успешно. но в админ.панеле: LINE 1: SELECT COUNT(*) AS "__count" FROM "%таблица модели%".
django_content_type можно удалить может ещё какие служебные для самой миграции есть экспериментируйте
даже если не помоможет ничего страшного не произошло
снимаете дамп с БД
удаляете все таблицы
генерите и накатываете миграции
затем восстанавливаете только рабочие данными из нужных таблиц
"очистить таблицу django_migrations" - это все равно, что сломался ноготь, а ампутировать руку)))
А если по делу, то в таблице django_migrations надо найти ненужные миграции, по полям app и name, и их удалить.
hellmin, была удалена директория с миграциями
теперь толку от django_migrations как от козла молока, т.к. makemigrations создаст уже совсем другую последовательность
Владимир: я писал выше, но все же повторю на всякий случай: ""очистить таблицу django_migrations" - это все равно, что сломался ноготь, а ампутировать руку)))"
Зачем удалять из django_migrations все записи (которые относятся к django или еще каким-то приложениям с моделями) ?
Ну и еще раз повторю на всякий случай: "... в таблице django_migrations надо найти ненужные миграции, по полям app и name, и их удалить."
Если Вы удалили модуль migrations, то Django не будет следить за изменением схемы моделей. Создайте этот модуль снова (директорию migrations и пустой файл __init__.py в ней) и после этого выполняйте makemigrations