Как я могу удалить таблицы и 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 ответа

Просто делать:

./manage.py reset appname

В итоге я реализовал юг для миграции, чтобы вносить изменения в таблицы на DjangoZoom вместо того, чтобы пытаться очистить таблицы для некоторых приложений.

Изменения были легко внесены в существующую базу данных, используя schemamigration --auto создать миграцию для изменений. Кроме того, миграция позволила мне сохранить большую часть контента в моем проекте.

Другие вопросы по тегам