在 Prisma + PostgreSQL 中从自定义值开始自动递增

6

我正在使用与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;

应该是 ALTER SEQUENCE "tablename_columnname_seq" RESTART WITH 0; - Udhayakumar
1个回答

9

直接从模式中无法实现,但您可以将以下内容添加到迁移 SQL 中,应该就可以了:

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

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

  3. 运行 prisma migrate dev

以下步骤将改变序列。


1
我明白了。我不知道--create-only标志。谢谢。 - CookieEater
这是我生命中最美好的一天。 - vintagexav

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接