我在docker上运行Django容器,这取决于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转储试图覆盖现有的数据库而引起的。如果你在开发中,一个快速的解决方案是
docker volume rm <volume_name>
.
然后运行cat ...
命令