当我尝试使用 Squeryl 的 Table.insert 在 PostgreSQL 表中插入新记录时,它会触发以下查询:
insert into "users" ("id", "email", "fullname") values (nextval('"s_users_id"'),?,?)
这不起作用,因为我没有定义序列,而是将 id 列定义为“自动增量”:
CREATE TABLE Users (
id BIGSERIAL,
email varchar(255) NOT NULL,
fullname varchar(255),
PRIMARY KEY (id)
);
我在另一个论坛上阅读了一些关于这个问题的旧帖子,我想知道现在的状态是什么。我们是否不鼓励使用自动增量并改为定义序列?或者有一个简单的解决方法可以让它工作吗?
编辑:实际上我刚才看到自动增量本身创建了一个序列,但使用了另一个名称:users_id_seq 有没有办法告诉 Squeryl 改为查看这个名称,或者遵循 PostgreSQL 的约定?