Самый простой способ удалить все таблицы для запуска syncdb в Django?

Я продолжаю вносить небольшие изменения в свои модели Django. Меня не волнуют тестовые данные, которые я продолжаю добавлять, я просто хочу удалить все таблицы (модели), чтобы снова запустить syncdb. manage.py flush не удаляет схему таблицы, она просто удаляет данные.

Есть ли в Django 1.6 более быстрая функция для удаления всех таблиц?


person User    schedule 27.12.2015    source источник
comment
Вы можете использовать миграции — нет необходимости удалять все таблицы при каждом изменении.   -  person GwynBleidD    schedule 28.12.2015
comment
Если вы не заботитесь о таблицах, может быть, быстрее всего удалить всю базу данных и создать ее заново. Как это сделать, будет зависеть от того, какую базу данных вы используете.   -  person Alasdair    schedule 28.12.2015
comment
Возможный дубликат Django удаляет все таблицы из базы данных   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 14.05.2016


Ответы (1)


1) Django 1.6 — это неподдерживаемая версия Django https://www.djangoproject.com/download/#supported-versions

вы можете видеть, что Django 1.6 поддерживался до апреля 2015 года. Поэтому попробуйте перейти на 1.8 LTS или 1.9 сейчас и внедрить миграции в свой проект Django или интегрировать South в свое старое приложение Django, чтобы иметь миграции http://south.readthedocs.org/en/latest/index.html

2) Нет, в Django 1.6 нет более быстрой функции (команда django-admin/manage.py), которая удаляет все таблицы. Чем ближе в этих старых версиях:

manage.py sqlclear appname

и поместите вывод в свою оболочку sql, возможно, сможете работать с каналом.

manage py sqlclear appname | manage.py dbshell

по крайней мере, с MySQL работает хорошо.

person Yonsy Solis    schedule 28.12.2015