【发布时间】:2021-08-27 19:32:20
【问题描述】:
在使用 Hasura 向 Postgres DB 插入新行时,我有一个关于表主键的非常有趣的问题。 简而言之,这就是发生的事情: 我目前正在开发的应用程序有一个旧的后端,它使用了 MySql 数据库,我的任务是将所有数据移动到新的 Hasura/Postgress DB,所以我编写了移动这些数据的脚本,它运行良好。由于与其他表的用户关系,脚本插入了所有用户数据,包括他们的主键。 当我尝试使用 Hasura 突变插入新用户时出现问题:
违反唯一性。重复键值违反唯一约束 "users_pkey"
我假设发生的是:我对用户的 PK 不是默认类型 integer/auto-increment , 它是:
id - 整数,主键,唯一,默认:nextval('users_id_seq'::regclass)
当我尝试插入新行时,它会尝试为其分配 Hasura 记得插入的最新 PK,并且具有该 PK 的用户已经从 MySql DB 导入。
有什么方法可以编辑我的表 PK,使其成为整数/自动增量,或者有人有一些创造性的解决方案。 提前致谢!
【问题讨论】:
标签: mysql postgresql graphql hasura