Простой способ для 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
Я не понимаю, почему вы считаете, что вам нужно удалить миграцию или базу данных. Весь смысл миграции заключается в том, что они основываются на том, что было раньше; вам больше не нужно удалять и начинать заново. Просто делайте макетирование каждый раз, когда вы делаете изменения, и серия миграций должна всегда работать.
Позже вы можете запрограммировать набор миграций в один, ради скорости, который снова поддерживается изначально. Но никогда не удаляйте миграцию, которую вы уже выполнили.