2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Prisma Clientって何?

Posted at

説明

Prismaの機能の1つで、DB操作をJavaScript/TypeScriptで実現する。
ローカル環境では、npx prisma generateでDB操作で使用するコードのライブラリを生成する。
「PrismaClientを生成する」といった場合、このライブラリを生成することを指す。

格納場所: node_modules/.prisma/client

ライブラリは以下を含む

  • 型付けされたデータベースクライアント:
    • Prisma Client主要部分。
    • データベースとの実際のやり取りを行う部分で、接続情報やトランザクション管理をする。
    • 開発者とPrisma間のインターフェース。
  • 型定義:
    • schema.prisma ファイルに基づいて、JavaScript/TypeScriptのコードで使用される型が生成される。
    • データベースとのやり取りが型安全になる。
  • クエリエンジン:
    • Prisma Clientの背後で動作するバイナリファイル。
    • 実際のデータベース操作を担当する。
  • モデルに基づくCRUD API:
    • 各モデルに対して、CRUD操作をサポートするAPIが生成される。
  • 関連するヘルパーAPI:
    • リレーションやトランザクションなど、データベース操作に関連する追加のAPIを提供する。
  • ランタイム:
    • PrismaClientのランタイム。
    • クエリの生成や実行、クエリエンジンとの通信など。

以下記述の実行を考える。

 ...
const prisma = new Prisma;
 ...
await prisma.users.create({
 ...
});
  1. const prisma = new Prismaなどという記述でデータベースクライアントのインスタンスを生成する。
  2. prisma.users.create()のPrismaClient APIが呼び出される。
  3. ランタイムにより、prisma.users.create()がSQLに変換され、クエリエンジンに渡される。
  4. クエリエンジンにより、SQLクエリはDBに送信され、レスポンスを受け取る。
  5. クエリエンジンは、レスポンスをランタイムに渡し、その結果がコードとして表示される。
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?