Как я могу удалить таблицы и syncdb только для одного приложения в моем проекте Django?
У меня есть приложение Django, развернутое на DjangoZoom. Люди регистрируются, поэтому в этой базе данных есть пользователи.
Я хочу реструктурировать базу данных одного из моих приложений в рамках проекта. Мой план состоял в том, чтобы отказаться от всех таблиц, а затем сделать syncdb
создать новую структуру. Затем я добавил бы весь контент с сайта, установив локально созданные приспособления в производственную базу данных.
Проблема в том, что я потерял бы все эти пользовательские данные с планом. Как мне просто удалить соответствующие таблицы (те, для которых я могу повторно загрузить содержимое с помощью приборов) и оставить нетронутыми таблицы аутентификации? Обратите внимание, что в DjangoZoom у меня есть возможность запускать команды manage.py только с --noinput
и я не могу получить доступ к базе данных напрямую. Кроме того, мой проект в Django 1.3, поэтому с помощью manage.py reset app_name
был объявлен устаревшим
I suppose I could do south migrations for this, but it is a relatively simple change and since I have all the data in fixtures anyway it doesn't seem worth it. Какие-либо предложения?
2 ответа
В итоге я реализовал юг для миграции, чтобы вносить изменения в таблицы на DjangoZoom вместо того, чтобы пытаться очистить таблицы для некоторых приложений.
Изменения были легко внесены в существующую базу данных, используя schemamigration --auto
создать миграцию для изменений. Кроме того, миграция позволила мне сохранить большую часть контента в моем проекте.