Какова процедура того, чтобы полностью удалить приложение Django, вместе с удалением базы данных?
В Django < 1.7 есть удобная команда управления, которая даст вам необходимый SQL для удаления всех таблиц приложения. Смотрите sqlclear docs для получения дополнительной информации. По сути, выполнив ./manage.py sqlclear my_app_name
, вы получите SQL-запросы, которые необходимо выполнить, чтобы избавиться от всех следов приложения в вашей БД. Вам все еще нужно скопировать и вставить (или передать) эти операторы в ваш SQL клиент. Для Django 1.7 и выше используйте ./manage.py migrate my_app_name zero
(см. migrate docs), который запускает очистку базы данных автоматически.
Чтобы удалить приложение из вашего проекта, достаточно удалить его из INSTALLED_APPS
в settings.py
вашего проекта. Django больше не будет загружать это приложение.
Если вам больше не нужны файлы приложения, удалите каталог app из каталога проекта или другого места в вашем PYTHONPATH, где оно находится.
(необязательно) Если приложение сохраняло медиафайлы, файлы кэша или другие временные файлы, вы можете удалить и их. Также опасайтесь остатков данных сеанса, которые могут остаться от приложения.
(необязательно) Я бы также удалил все устаревшие типы контента.
Например.
from django.contrib.contenttypes.models import ContentType
for c in ContentType.objects.all():
if not c.model_class():
print "deleting %s"%c
c.delete()
django app - это "набор" *.py файлов и каталог с именем django-app-name. Поэтому вы можете просто удалить всю папку со всеми *.py файлами
Для "удаления" таблиц из DB вы должны использовать DELETE FROM
Кроме того, вы должны удалить строки с именем app-name из set.py в корневом каталоге