はじめに
Prisma Client で Model 名(文字列)を使いたい場面に遭遇した。
Prisma は node_modules/.prisma/client/index.d.ts
に型定義が存在する
Model 名を取得する
以下に記載するような schema.prisma
が定義されているとする。
schema.prisma
model User {
id String @id
name String
}
npx prisma generate
等何でも良いので node_modules/.prisma/client/index.d.ts
を生成する。
下記のように記述すれば ModelName を取得できる。
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
prisma.user.name;
// -> User
全件欲しい場合は、以下のように記述すれば良い。
import { Prisma } from '@prisma/client';
Prisma.ModelName;
Ref