Как удалить DB (sqlite3) в Django 1.9, чтобы начать с нуля?
Я допустил орфографическую ошибку в моей модели, и теперь одна из моих колонок написана с ошибкой. Я хотел бы удалить все таблицы в базе данных, исправить ошибку в model.py и воссоздать базу данных с правильным написанием в модели.
Я пытался использовать рекомендации из этой статьи, но таблица все еще существует после того, как я следую приведенным там командам.
У кого-нибудь есть быстрый способ сделать это?
Ответы
Ответ 1
- Удалите файл базы данных sqlite (часто
db.sqlite3
) в папке проекта django (или там, где вы его поместили)
- Удалите все, кроме файла
__init__.py
, из папки migration
во всех приложениях django
- Внесите изменения в свои модели (
models.py
).
- Запустите команду
python manage.py makemigrations
или python3 manage.py makemigrations
- Затем выполните команду
python manage.py migrate
.
Это все.
Если ваши изменения в модели не обнаружены командой makemigration
, проверьте этот ответ
Ответ 2
rm -f tmp.db db.sqlite3 rm -r my-app/migrations python manage.py makemigrations python manage.py migrate
Удаляет базу данных.
Удаляет миграцию из вашего приложения.
Re -r не переносить. Примечание: вы также можете: python manage.py makemigrations my-app
Миграция изменений.
Ответ 3
Вы можете просто удалить свой файл sqlite.
Что касается вашего вопроса, вы должны использовать систему миграции Django для выполнения изменений базы данных для вашего проекта с использованием makemigrations и команд переноса
документы миграции