Skip to content
This repository was archived by the owner on Jan 14, 2021. It is now read-only.
This repository was archived by the owner on Jan 14, 2021. It is now read-only.

InterpretationError("Error for binding \'0\': DomainError(ConversionFailure(\"record identifier\", \"assimilated record identifier\"))") #642

@jonahsnider

Description

@jonahsnider

Bug description

Write operations consistently fail with a weird error.

Full debug output
  prisma-client {
  prisma-client   engineConfig: {
  prisma-client     cwd: '/dir/project',
  prisma-client     debug: false,
  prisma-client     datamodelPath: '/dir/project/node_modules/@prisma/client/schema.prisma',
  prisma-client     prismaPath: undefined,
  prisma-client     datasources: [],
  prisma-client     generator: {
  prisma-client       name: 'client',
  prisma-client       provider: 'prisma-client-js',
  prisma-client       output: '/dir/project/node_modules/@prisma/client',
  prisma-client       binaryTargets: [Array],
  prisma-client       config: {}
  prisma-client     },
  prisma-client     showColors: false,
  prisma-client     logLevel: 'info',
  prisma-client     logQueries: true,
  prisma-client     env: {
  prisma-client       POSTGRES_URI: 'postgres://username:password@hostname:port/db'
  prisma-client     },
  prisma-client     flags: []
  prisma-client   }
  prisma-client } +0ms
  getos { version: 'OpenSSL 1.1.1  11 Sep 2018\n' } +0ms
  getos { ls: '' } +1ms
  getos { platform: 'linux', libssl: '1.1.x' } +3ms
  engine {
  engine   PRISMA_DML_PATH: '/dir/project/node_modules/@prisma/client/schema.prisma',
  engine   PORT: '51724',
  engine   RUST_BACKTRACE: '1',
  engine   RUST_LOG: 'info',
  engine   LOG_QUERIES: 'true',
  engine   OVERWRITE_DATASOURCES: '[]'
  engine } +0ms
  engine { cwd: '/dir/project' } +3ms
  plusX Execution permissions of /dir/project/node_modules/@prisma/client/runtime/query-engine-debian-openssl-1.1.x are fine +0ms
  engine { flags: [ '--enable-raw-queries' ] } +1ms
  engine stderr Printing to stderr for debugging +48ms
  engine stderr Listening on 127.0.0.1:51724 +1ms
  engine stdout {
  timestamp: 'Apr 08 02:57:54.453',
  level: 'INFO',
  target: 'quaint::pooled',
  fields: { message: 'Starting a postgresql pool with 5 connections.' }
} +1ms
prisma:info  Starting a postgresql pool with 5 connections.
  engine stdout {
  timestamp: 'Apr 08 02:57:54.460',
  level: 'INFO',
  target: 'prisma::server',
  fields: {
    message: 'Started http server on 127.0.0.1:51724',
    'log.target': 'prisma::server',
    'log.module_path': 'prisma::server',
    'log.file': 'query-engine/prisma/src/server.rs',
    'log.line': 109
  }
} +6ms
prisma:info  Started http server on 127.0.0.1:51724
  prisma-client Prisma Client call: +973ms
  prisma-client prisma.guild.create({
  prisma-client   data: {
  prisma-client     id: 'id',
  prisma-client     notifications: {
  prisma-client       create: {
  prisma-client         id: 'banUnban',
  prisma-client         channels: {
  prisma-client           set: [
  prisma-client             'channel id'
  prisma-client           ]
  prisma-client         }
  prisma-client       }
  prisma-client     },
  prisma-client     prefix: 'prefix',
  prisma-client     selfRoles: {
  prisma-client       set: [
  prisma-client         'role id'
  prisma-client       ]
  prisma-client     },
  prisma-client     tags: {
  prisma-client       create: [
  prisma-client         {
  prisma-client           author: 'author',
  prisma-client           content: 'content',
  prisma-client           id: 'id'
  prisma-client         }
  prisma-client       ]
  prisma-client     }
  prisma-client   }
  prisma-client }) +2ms
  prisma-client Generated request: +5ms
  prisma-client mutation {
  prisma-client   createOneGuild(data: {
  prisma-client     id: "id"
  prisma-client     notifications: {
  prisma-client       create: [
  prisma-client         {
  prisma-client           id: "banUnban"
  prisma-client           channels: {
  prisma-client             set: ["channel id"]
  prisma-client           }
  prisma-client         }
  prisma-client       ]
  prisma-client     }
  prisma-client     prefix: "prefix"
  prisma-client     selfRoles: {
  prisma-client       set: ["role id"]
  prisma-client     }
  prisma-client     tags: {
  prisma-client       create: [
  prisma-client         {
  prisma-client           author: "author"
  prisma-client           content: "content"
  prisma-client           id: "id"
  prisma-client         }
  prisma-client       ]
  prisma-client     }
  prisma-client   }) {
  prisma-client     id
  prisma-client     prefix
  prisma-client     selfRoles
  prisma-client   }
  prisma-client }
  prisma-client  +0ms
  engine stdout {
  timestamp: 'Apr 08 02:57:55.002',
  level: 'INFO',
  target: 'quaint::connector::metrics',
  fields: { query: 'BEGIN', item_type: 'query', params: '[]', duration_ms: 76 }
} +542ms
prisma:query BEGIN
  engine stdout {
  timestamp: 'Apr 08 02:57:55.153',
  level: 'INFO',
  target: 'quaint::connector::metrics',
  fields: {
    query: 'INSERT INTO "public"."Guild" ("id","prefix","selfRoles") VALUES ($1,$2,$3) RETURNING "public"."Guild"."id"',
    item_type: 'query',
    params: '["id","prefix",["role id"]]',
    duration_ms: 150
  }
} +151ms
prisma:query INSERT INTO "public"."Guild" ("id","prefix","selfRoles") VALUES ($1,$2,$3) RETURNING "public"."Guild"."id"
  engine stdout {
  timestamp: 'Apr 08 02:57:55.229',
  level: 'INFO',
  target: 'quaint::connector::metrics',
  fields: {
    query: 'ROLLBACK',
    item_type: 'query',
    params: '[]',
    duration_ms: 74
  }
} +76ms
prisma:query ROLLBACK
  engine {
  engine   error: PrismaClientUnknownRequestError: Error occurred during query execution:
  engine   InterpretationError("Error for binding \'0\': DomainError(ConversionFailure(\"record identifier\", \"assimilated record identifier\"))")
  engine       at NodeEngine.graphQLToJSError (/dir/project/node_modules/@prisma/client/runtime/index.js:1:18851)
  engine       at /dir/project/node_modules/@prisma/client/runtime/index.js:1:16338
  engine       at processTicksAndRejections (internal/process/task_queues.js:97:5)
  engine       at Dataloader.loader (/dir/project/node_modules/@prisma/client/runtime/index.js:1:50647)
  engine } +9ms
  printStack callsite Error
    at Object.s [as Guild] (/dir/project/node_modules/@prisma/client/runtime/index.js:1:48551)
    at Object.n. [as create] (/dir/project/node_modules/@prisma/client/runtime/index.js:1:50177)
    at migrate (/dir/project/src/the_big_migration.ts:74:21)
    at processTicksAndRejections (internal/process/task_queues.js:97:5) +0ms
PrismaClientUnknownRequestError:
Invalid `prisma.guild.create()` invocation in
/dir/project/src/the_big_migration.ts:74:21

   70
   71 export async function migrate(): Promise {
   72   await mongo.connect();
   73   await prisma.connect();
→  74   await prisma.guild.create(

Error occurred during query execution:
InterpretationError("Error for binding \'0\': DomainError(ConversionFailure(\"record identifier\", \"assimilated record identifier\"))")
    at PrismaClientFetcher.request (/dir/project/node_modules/@prisma/client/runtime/index.js:1:51485)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

How to reproduce

Not entirely sure, but it happens every time I attempt a create operation.

Expected behavior

The write operation succeeds and my app becomes world famous.

Prisma information

datasource sqlite {
  url      = env("POSTGRES_URI")
  provider = "postgresql"
}

generator client {
  provider      = "prisma-client-js"
  binaryTargets = ["native"]
}

model User {
  id              String    @id
  balance         Float     @default(1000)
  dailyUsed       DateTime?
  blacklistReason String?
}

model Guild {
  id            String                 @id
  prefix        String?
  selfRoles     String[]
  tags          Tag[]
  notifications NotificationSettings[]
}

model Tag {
  id      String @id
  content String
  author  String
}

model NotificationSettings {
  id       String   @id
  channels String[]
}
await prisma.guild.create({
	data: {
		id: 'id',
		notifications: {create: {id: 'banUnban' as Notification, channels: {set: ['channel id']}}},
		prefix: 'prefix',
		selfRoles: {set: ['role id']},
		tags: {create: [{author: 'author', content: 'content', id: 'id'}]}
	}
});

Environment & setup

  • OS: Windows and WSL (reproduced on both)
  • Database: PostgreSQL 12.1
  • Prisma version:
@prisma/cli          : 2.0.0-beta.1
Current platform     : debian-openssl-1.1.x
Query Engine         : prisma 2accb9c7eacdc984874eaeb63377fe705dfd3203 (at /dir/project/node_modules/@prisma/cli/query-engine-debian-openssl-1.1.x)
Migration Engine     : migration-engine-cli 2accb9c7eacdc984874eaeb63377fe705dfd3203 (at /dir/project/node_modules/@prisma/cli/migration-engine-debian
-openssl-1.1.x)
Introspection Engine : introspection-core 2accb9c7eacdc984874eaeb63377fe705dfd3203 (at /dir/project/node_modules/@prisma/cli/introspection-engine-debian-openssl-1.1.x)
  • Node.js version: v12.16.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions