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

时间:2020-10-07 08:11:46

标签: prisma nexus-prisma prisma2 prisma-binding

每当我尝试运行以下查询时,我都会收到此错误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一切正常,但将其缩短会导致错误原因吗?

1 个答案:

答案 0 :(得分:1)

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
              }
            }
          }
        })