将数据从Json文件加载到Postgresql会导致:错误“重复键值违反唯一约束 - 已存在”。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将数据从Json文件加载到Postgresql会导致:错误“重复键值违反唯一约束 - 已存在”。相关的知识,希望对你有一定的参考价值。
我正在将我的Django站点部署到Google Cloud上。其中一步是将数据库更改为postgresSQL。因为我在本地使用SqlLite,我想将所有数据库迁移到postgresSql。我按照在线指南,您首先转储数据,然后将settings.py中的数据库更改为新数据库。我已经完成了这个命令的一切;
python manage.py loaddata datadump.json
其中datadump.json是来自SQLITE的转储数据库。现在我遇到了这个错误
django.db.utils.IntegrityError: Problem installing fixtur, Could not
load users.Profile(pk=3): duplicate key value violates unique
constraint "users_profile_user_id_key" DETAIL: Key (user_id)=(1) already exists.
而且我不知道该怎么做。我查了一些答案如下:
postgresql duplicate key violates unique constraint
和
Django admin "duplicate key value violates unique constraint" Key (user_id)=(1) already exists
没有帮助,因为我无法理解发生了什么。 6年前我确实使用过mysql,但我无法理解这一点。
我设法从在线资源运行一些SQL命令,并设法为我的数据库生成这个:
我按照这些指南:
https://medium.com/@aaditya.chhabra/how-to-use-postgresql-with-your-django-272d59d28fa5
https://www.shubhamdipt.com/blog/django-transfer-data-from-sqlite-to-another-database/
- 删除数据库
- 创建一个新的并运行迁移 python manage.py migrate
并尝试使用,从json文件导入数据,
python manage.py loaddata datadump.json
这些错误是由您使用“createsuperuser”命令创建的数据库中的超级用户对象引起的。
以上是关于将数据从Json文件加载到Postgresql会导致:错误“重复键值违反唯一约束 - 已存在”。的主要内容,如果未能解决你的问题,请参考以下文章
在不使用 S3 存储桶的情况下将数据从远程服务器的 .gz 文件加载到 redshift 的 postgresql 实例?
Django dumpdata 生成无效的 json 格式文件