Простой способ для reset базы данных Django PostgreSQL?

Я смог reset создать базу данных Django PostgreSQL, выполнив следующие шаги:

  • Удалить файлы миграции
  • Введите команду командной строки psql. Подключение к базе данных. общий каскад схемы кавычек; создать общедоступную схему;
  • Шаг 2, к сожалению, удалил мою роль и права пользователя, поэтому я вернулся к команде psql promt и воссоздал их.
  • Шаг 2 также означал, что мне нужно было запустить следующие команды в командной строке psql: предоставить публике публичное использование публичной схемы; предоставлять публичным публикациям схему;
  • Шаг 2 также удалил стандартных пользователей Django, которые я создал, поэтому мне нужно было воссоздать эти
  • python manage.py makemigrations && & & python manage.py migrate

В настоящее время я вношу изменения в свои модели и тестирую каждое изменение. У меня нет никаких данных, которые мне нужно сохранить. Существует ли более простой способ, чем приведенный выше, в reset базе данных при работе переноса?

Я бы по крайней мере хотел заменить шаг 2 чем-то другим, чтобы я мог пропустить шаги 3-5.

Ответ 1

Вероятно, самый простой способ сделать это - воссоздать всю базу данных. В Ubuntu это выглядит так:

sudo su postgres
psql
drop database your_database_name;
create database your_database_name with owner user_you_use_in_django;
\q
exit

Что это. У вас есть чистая база данных. Чтобы он был готов к работе, вам нужно выполнить миграцию с помощью python manage.py migrate.

Если вы работаете только над своим проектом, вы можете удалить и воссоздать миграцию, если хотите.

Ответ 2

Если вы используете docker/composer, введите docker-compose down, а затем migrate.

Ответ 3

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

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