【发布时间】:2019-08-08 07:15:13
【问题描述】:
我的项目使用 SQLite3 数据库,但现在我需要从 SQLite3 迁移到 PostgreSQL。我已经使用 DBeaver 使用“导入数据”选项来执行此操作。在将所有表从 SQLite3 导入 PostgreSQL 结束时,我在尝试添加新内容时注意到了这个错误:
IntegrityError at /engine/kernel/keyconcept/add/
重复键值违反唯一约束 "kernel_keyconcept_pkey" DETAIL: Key (id)=(4) 已经存在。
如果我在这个项目中添加一个使用新 DB(PostgreSQL) 的新模型,添加内容没有问题,但如果我使用旧模型,我会看到上面的 IntegrityError .
我对只有两行的模型进行了测试:第一次尝试时我收到了相同的错误,但键 ID 为 1,第二次尝试时我收到了相同的错误,但键 ID 为 2。当我'已经第三次尝试了,我能够添加内容,并且下一次尝试也会发生同样的想法。
所以我认为迁移后每个表的行计数器永远不会从最后一个内容开始,而是从零开始。这很奇怪,因为以前我做过相同的迁移,但是从 SQLite3 到 SQLite3 没有问题。
我该如何解决这个问题?
【问题讨论】:
标签: django postgresql migration dbeaver