Skip to content

Getting dbgenerated() for defaults on enums in Postgres #2689

@matthewmueller

Description

@matthewmueller

Bug description

Introspection on Postgres enums with a default value yields dbgenerated()

How to reproduce

Given the following Postgres statements:

CREATE SCHEMA "postgres-env$dev";
CREATE TABLE "postgres-env$dev"."User" (
    id character varying(25) NOT NULL PRIMARY KEY,
    role text NOT NULL
);
CREATE TYPE "postgres-env$dev"."Role" AS ENUM ('ADMIN', 'CUSTOMER');
ALTER TABLE "postgres-env$dev"."User" ALTER COLUMN "role" SET DATA TYPE "postgres-env$dev"."Role" using "role"::"postgres-env$dev"."Role";

Given the following prisma.schema:

datasource db {
  provider = "postgresql"
  url      = "postgres://user@localhost:5432/prisma_test?schema=postgres-env%24dev"
}

When I run introspect, I get

model User {
  id       String   @default(cuid()) @id
  role     Role     @default(dbgenerated())
}

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions