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

Posted

技术标签:

【中文标题】无法在 Prisma 中创建多个连接查询?【英文标题】:Unable to Create Multiple Connect Query in Prisma? 【发布时间】:2021-01-22 03:59:45 【问题描述】:

每当我尝试运行以下查询时,我都会收到此错误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】:
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
              
            
          
        )

【讨论】:

以上是关于无法在 Prisma 中创建多个连接查询?的主要内容,如果未能解决你的问题,请参考以下文章

我想在 prisma orm 中使用多个数据库

使用多个连接和条件优化 SQL 查询

BigQuery 与 BigTable 连接,无法执行任何查询

MS访问多查询左连接

如何在代码中创建一个“硬编码”的小 SQL 连接表?

保存视图无法在 Google BigQuery 中创建有效的输出架构