Как удалить DB (sqlite3) в Django 1.9, чтобы начать с нуля?

Я допустил орфографическую ошибку в моей модели, и теперь одна из моих колонок написана с ошибкой. Я хотел бы удалить все таблицы в базе данных, исправить ошибку в model.py и воссоздать базу данных с правильным написанием в модели.

Я пытался использовать рекомендации из этой статьи, но таблица все еще существует после того, как я следую приведенным там командам.

У кого-нибудь есть быстрый способ сделать это?

Ответы

Ответ 1

  1. Удалите файл базы данных sqlite (часто db.sqlite3) в папке проекта django (или там, где вы его поместили)
  2. Удалите все, кроме файла __init__.py, из папки migration во всех приложениях django
  3. Внесите изменения в свои модели (models.py).
  4. Запустите команду python manage.py makemigrations или python3 manage.py makemigrations
  5. Затем выполните команду 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 и команд переноса

документы миграции