无法在Prisma中创建多个连接查询?

问题描述

每当我尝试运行以下查询时,我都会收到此错误ForeignKeyConstraintViolation { constraint: Index(\"Device\") }

const _CreatedConnectedToMobile = await Context.Database.ConnectedToMobile.create({ 'data': {} }) <-- creates entry in db with default values.

// Create mobile entry where i am trying to create entry in Account Table,with Connection to Device and ConnectedToMobile Table.
// Account,Device and ConnectedToMobile -> Mobile(Table) by foriegn key.
await Context.DataBase.mobile.create({
          'data': {
            'number': mobileNumber,'Account': {
              'create': {
                'accountType': _accountType,'activeAs': _accountType,'accesspin': accesspin
              }
            },'Device': {
              'connectOrCreate': {
                'where': { deviceUniqueId },'create': { deviceUniqueId }
              }
            },'ConnectedToMobile': {
              'connect': {
                'id': _CreatedConnectedToMobile.id
              }
            }
          }
        })

如果我尝试运行Serpratly一切正常,但将其缩短会导致错误原因吗?

解决方法

await Context.DataBase.mobile.create({
          'data': {
            'number': mobileNumber,'Account': {
              'create': {
                'accountType': _accountType,'activeAs': _accountType,'accessPin': accessPin
              }
            },'Device': {
              'connectOrCreate': {
                'where': { deviceUniqueId },// you search by unique Id
    // when you create you send object of data
                'create': { deviceUniqueId } // the issue here you send the unique Id but this object accept all fields in your schema model except the ID because Id will auto generate by id
              }
            },'ConnectedToMobile': {
              'connect': {
                'id': _CreatedConnectedToMobile.id
              }
            }
          }
        })