如何获取 Prisma 类的所有字段?

Ser*_*nev 3 database back node.js prisma

我在 Prisma 模式中有这两个表:

model Accounts {
  id Int @id @default(autoincrement())
  name String @db.VarChar(100)
  description String? @db.VarChar(255)
  timeZone Int @default(0)
  tableBusinessApplication AccountsBusinessApplications[]
}

model AccountsBusinessApplications {
  id Int @id @default(autoincrement())
  account Accounts @relation(fields: [accountId], references: [id])
  accountId Int
  name String @db.VarChar(100)
  identification String @db.VarChar(100)
  secretKey String @db.VarChar(32)
}
Run Code Online (Sandbox Code Playgroud)

我有以下代码:

const name = 'Accounts'
prisma[name].findFirst({
  where: { id: 1}
}).then(result => { console.log(result) })
Run Code Online (Sandbox Code Playgroud)

结果我有:

{
  id: 1,
  name: 'test',
  description: 'test description',
  timeZone: 0
}
Run Code Online (Sandbox Code Playgroud)

但我在里面没有看到“ tableBusinessApplication ”。如果我只知道一级名称“ Accounts ”并且无法在查询中使用“ Include ”,如何获取所有数据?

我尝试找到如何使用 prisma 类获取字段列表,但似乎什么也没有。

小智 7

从 Prisma 4 开始:

import { Prisma } from '@prisma/client';

console.log("Account fields:", Prisma.dmmf.datamodel.models.find(model => model.name === "Account").fields)
Run Code Online (Sandbox Code Playgroud)