Как загрузить sql дамп в контейнерный django docker, который зависит от postgres
Я запускаю контейнер Django на docker, который зависит от Postgres. Проблема в том, что когда я пытаюсь загрузить postgresql
docker-compose up
cat /tmp/dump.sql | sudo docker exec -i <container_id> psql -U <user> -d <database_name>
Это импортирует первые несколько таблиц и дает мне много ошибок на терминале
Пример
constraint "table_id" for relation "table_name" already exists
Другой пример
null value in column "column_name" violates not-null constraint
Еще один
insert or update on table "table_1" violates foreign key constraint "table_id"
Я хотел бы знать, правильный ли это способ импортировать эти данные. Кроме того, я не могу удалить базу данных, поскольку она уже используется django.
Примечание: Я пробовал с томами, где я импортировал базу данных с помощью postgresql. Но каждый раз, когда я запускаю django, база данных сбрасывается. Я предполагаю, что это как-то связано с миграциями, но я не могу трогать эту часть.
Проблема была вызвана тем, что sql дамп пытался перезаписать существующую базу данных. Быстрое решение, если вы находитесь на dev, заключается в
docker volume rm <volume_name>
.
Затем выполните команду cat ...