breaking change 1.2.5 => 1.2.7: Error creating UUID, invalid character: expected an optional prefix of urn:uuid: followed by [0-9a-fA-F-], found w at 1 #1187

Closed
opened 2026-03-13 08:27:06 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @alan345 on GitHub (May 9, 2025).

Is this suited for github?

  • Yes, this is suited for github

To Reproduce

I got this error after upgrading 1.2.5 => 1.2.7


# SERVER_ERROR:  PrismaClientKnownRequestError: 
Invalid `db[model].create()` invocation in
/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/better-auth/dist/adapters/prisma-adapter/index.cjs:94:32

  91     `Model ${model} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`
  92   );
  93 }
→ 94 return await db[model].create(
Inconsistent column data: Error creating UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `w` at 1
    at zn.handleRequestError (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/@prisma/client/runtime/library.js:121:7459)
    at zn.handleAndLogRequestError (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/@prisma/client/runtime/library.js:121:6784)
    at zn.request (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/@prisma/client/runtime/library.js:121:6491)
    at l (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/@prisma/client/runtime/library.js:130:9778)
    at Object.create (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/better-auth/dist/adapters/prisma-adapter/index.cjs:94:16)
    at Object.create (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/better-auth/dist/shared/better-auth.DjryM8pE.cjs:390:19)
    at createWithHooks (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/better-auth/dist/shared/better-auth.DYoLD99C.cjs:51:71)
    at Object.createSession (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/better-auth/dist/shared/better-auth.DYoLD99C.cjs:292:19)
    at /Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/better-auth/dist/shared/better-auth.Dg0siV5C.cjs:1759:21
    at internalHandler (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/better-call/src/endpoint.ts:332:20) {
  code: 'P2023',
  meta: {
    modelName: 'Session',
    message: 'Error creating UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `w` at 1'
  },
  clientVersion: '6.7.0'
}

Current vs. Expected behavior

we dont have this error with 1.2.5

What version of Better Auth are you using?

1.2.7

Provide environment information

nodejs: v22.15.0
prisma: "^6.7.0"
better-auth: 1.2.7

Which area(s) are affected? (Select all that apply)

Backend

Auth config (if applicable)

import { betterAuth } from "better-auth";
import { prismaAdapter } from "better-auth/adapters/prisma";
import { prisma } from "../prisma";


const urlFrontendApp = process.env.URL_FRONTEND_APP!;

export const auth = betterAuth({
  rateLimit: {
    enabled: false,
  },
  user: {
    additionalFields: {
      role: {
        type: "string",
        required: false,
        defaultValue: "CLIENT",
        input: false, // don't allow user to set role
      },
    },
  },
  advanced: {
    generateId: false, // @Bekacru we were doing it
  },
  trustedOrigins: [urlFrontendApp],
  emailAndPassword: {
    enabled: true,
   
    requireEmailVerification: false,
    autoSignIn: true, //defaults to true
  },

  //   plugins: [username(), ],
  database: prismaAdapter(prisma, {
    provider: "postgresql", // or "mysql", "postgresql", ...etc
  }),
});

Additional context

  • We use emailAndPassword
  • We use UUID, with (generateId: false) and id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
  • We use prisma

the prisma schema is:


model User {
  id                     String                  @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
  name                   String
  email                  String                  @unique
  emailVerified          Boolean
  image                  String?
  createdAt              DateTime                @db.Timestamp(6)
  updatedAt              DateTime                @db.Timestamp(6)
  role                   String                  @default("CLIENT")
  user_shops             user_shop[]
  user_organizations     user_organization[]
  public_api_credentials public_api_credential[]

  @@map("user")
  @@schema("public")
}

model Session {
  id        String   @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
  expiresAt DateTime @db.Timestamp(6)
  token     String   @unique
  createdAt DateTime @db.Timestamp(6)
  updatedAt DateTime @db.Timestamp(6)
  ipAddress String?
  userAgent String?
  userId    String   @db.Uuid

  @@map("session")
  @@schema("public")
}

model Account {
  id                    String    @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
  accountId             String
  providerId            String
  userId                String    @db.Uuid
  accessToken           String?
  refreshToken          String?
  idToken               String?
  accessTokenExpiresAt  DateTime? @db.Timestamp(6)
  refreshTokenExpiresAt DateTime? @db.Timestamp(6)
  scope                 String?
  password              String?
  createdAt             DateTime  @db.Timestamp(6)
  updatedAt             DateTime  @db.Timestamp(6)

  @@map("account")
  @@schema("public")
}

model Verification {
  id         String    @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
  identifier String
  value      String
  expiresAt  DateTime  @db.Timestamp(6)
  createdAt  DateTime? @db.Timestamp(6)
  updatedAt  DateTime? @db.Timestamp(6)

  @@map("verification")
  @@schema("public")
}

Originally created by @alan345 on GitHub (May 9, 2025). ### Is this suited for github? - [x] Yes, this is suited for github ### To Reproduce I got this error after upgrading `1.2.5` => `1.2.7` ``` # SERVER_ERROR: PrismaClientKnownRequestError: Invalid `db[model].create()` invocation in /Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/better-auth/dist/adapters/prisma-adapter/index.cjs:94:32 91 `Model ${model} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'` 92 ); 93 } → 94 return await db[model].create( Inconsistent column data: Error creating UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `w` at 1 at zn.handleRequestError (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/@prisma/client/runtime/library.js:121:7459) at zn.handleAndLogRequestError (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/@prisma/client/runtime/library.js:121:6784) at zn.request (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/@prisma/client/runtime/library.js:121:6491) at l (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/@prisma/client/runtime/library.js:130:9778) at Object.create (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/better-auth/dist/adapters/prisma-adapter/index.cjs:94:16) at Object.create (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/better-auth/dist/shared/better-auth.DjryM8pE.cjs:390:19) at createWithHooks (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/better-auth/dist/shared/better-auth.DYoLD99C.cjs:51:71) at Object.createSession (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/better-auth/dist/shared/better-auth.DYoLD99C.cjs:292:19) at /Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/better-auth/dist/shared/better-auth.Dg0siV5C.cjs:1759:21 at internalHandler (/Users/alan/Documents/carvis/Carvis-Enhanced-Repair/app/server/node_modules/better-call/src/endpoint.ts:332:20) { code: 'P2023', meta: { modelName: 'Session', message: 'Error creating UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `w` at 1' }, clientVersion: '6.7.0' } ``` ### Current vs. Expected behavior we dont have this error with `1.2.5` ### What version of Better Auth are you using? 1.2.7 ### Provide environment information ```bash nodejs: v22.15.0 prisma: "^6.7.0" better-auth: 1.2.7 ``` ### Which area(s) are affected? (Select all that apply) Backend ### Auth config (if applicable) ```typescript import { betterAuth } from "better-auth"; import { prismaAdapter } from "better-auth/adapters/prisma"; import { prisma } from "../prisma"; const urlFrontendApp = process.env.URL_FRONTEND_APP!; export const auth = betterAuth({ rateLimit: { enabled: false, }, user: { additionalFields: { role: { type: "string", required: false, defaultValue: "CLIENT", input: false, // don't allow user to set role }, }, }, advanced: { generateId: false, // @Bekacru we were doing it }, trustedOrigins: [urlFrontendApp], emailAndPassword: { enabled: true, requireEmailVerification: false, autoSignIn: true, //defaults to true }, // plugins: [username(), ], database: prismaAdapter(prisma, { provider: "postgresql", // or "mysql", "postgresql", ...etc }), }); ``` ### Additional context - We use `emailAndPassword` - We use UUID, with (`generateId: false`) and ` id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid` - We use prisma the prisma schema is: ``` model User { id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid name String email String @unique emailVerified Boolean image String? createdAt DateTime @db.Timestamp(6) updatedAt DateTime @db.Timestamp(6) role String @default("CLIENT") user_shops user_shop[] user_organizations user_organization[] public_api_credentials public_api_credential[] @@map("user") @@schema("public") } model Session { id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid expiresAt DateTime @db.Timestamp(6) token String @unique createdAt DateTime @db.Timestamp(6) updatedAt DateTime @db.Timestamp(6) ipAddress String? userAgent String? userId String @db.Uuid @@map("session") @@schema("public") } model Account { id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid accountId String providerId String userId String @db.Uuid accessToken String? refreshToken String? idToken String? accessTokenExpiresAt DateTime? @db.Timestamp(6) refreshTokenExpiresAt DateTime? @db.Timestamp(6) scope String? password String? createdAt DateTime @db.Timestamp(6) updatedAt DateTime @db.Timestamp(6) @@map("account") @@schema("public") } model Verification { id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid identifier String value String expiresAt DateTime @db.Timestamp(6) createdAt DateTime? @db.Timestamp(6) updatedAt DateTime? @db.Timestamp(6) @@map("verification") @@schema("public") } ```
Author
Owner

@Bekacru commented on GitHub (May 9, 2025):

Can you try setting advanced.database.generateId to false instead?

@Bekacru commented on GitHub (May 9, 2025): Can you try setting `advanced.database.generateId` to `false` instead?
Author
Owner

@alan345 commented on GitHub (May 9, 2025):

we were already using it
check it here:

  advanced: {
    generateId: false, // @Bekacru we were doing it
  },

Thanks!

@alan345 commented on GitHub (May 9, 2025): we were already using it check it here: ``` advanced: { generateId: false, // @Bekacru we were doing it }, ``` Thanks!
Author
Owner

@Bekacru commented on GitHub (May 9, 2025):

@alan345 no I'm saying

advanced: {
    database: {
       generateId: false
    }
}

the flatter option got marked deprecated. And some people are reporting they are having an issue with 1.2.7. This should fix it for the time being

@Bekacru commented on GitHub (May 9, 2025): @alan345 no I'm saying ```ts advanced: { database: { generateId: false } } ``` the flatter option got marked deprecated. And some people are reporting they are having an issue with 1.2.7. This should fix it for the time being
Author
Owner

@alan345 commented on GitHub (May 9, 2025):

Yep it works! Thanks for your help!
Maybe this should throw a typescript error if we use the flat option

@alan345 commented on GitHub (May 9, 2025): Yep it works! Thanks for your help! Maybe this should throw a typescript error if we use the flat option
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/better-auth#1187