从 prisma + postgresql 中的自定义值自动递增

Auto-incrementing from custom value in prisma + postgresql

我正在使用带有 postgresql 的 prismia 数据库客户端,我想从 0 而不是 1 开始自动递增整数字段。换句话说,我如何编写一个模型以使其从 0 开始?

这是我的模式。

model SortableItem {
  id    String @id @default(uuid())
  name  String
  order Int @default(autoincrement())
}

使用此实现,当第一次插入记录时,order 从 1 开始,但我希望它从 0 开始。

我知道 postgresql RESTART 可以实现这一点,但我找不到任何与 prisma ORM 语法等效的东西。

ALTER SEQUENCE tablename_columnname_seq RESTART WITH 0;

无法直接从架构中获取,但您可以将其添加到您的迁移中 SQL 它应该可以工作:

  1. 使用 prisma migrate dev --create-only 创建迁移。

  2. 编辑生成的.sql文件,添加上述语句。

  3. 运行 prisma migrate dev.

以下步骤将改变顺序。