【プリズマ】

Prisma とは?

💡 データベース操作に型安全の魔法をかける次世代ORM
📌 このページのポイント
Prisma のデータアクセスフロー Prisma Schema model User { id, name, email } 生成 Prisma Client 型安全なAPI 自動補完が効く SQL Database PostgreSQL MySQL / SQLite Prisma Migrate スキーマ変更を自動管理 Prisma Studio GUIでデータ閲覧・編集 スキーマ定義から型安全なクライアントを自動生成するフロー
Prismaのデータアクセスフローイメージ
ひよこ ひよこ

ORMって何のこと?

ペンギン先生 ペンギン先生

Object-Relational Mappingの略で、プログラムオブジェクトデータベーステーブルを橋渡しする仕組みだよ。SQLを直接書かなくても、プログラミング言語の書き方でデータベースを操作できるんだ

ひよこ ひよこ

Prismaが「次世代」って言われるのはなぜ?

ペンギン先生 ペンギン先生

従来のORMはクラスでテーブルを表現するパターンが多かったけど、Prismaは独自のスキーマ言語でデータ構造を定義して、そこから型安全なクライアントを自動生成するんだ。TypeScriptとの相性が抜群なんだよ

ひよこ ひよこ

型安全だと何が嬉しいの?

ペンギン先生 ペンギン先生

例えばテーブルに存在しないカラム名を書いたら、実行前にエディタが赤線で教えてくれるよ。実行時エラーではなくコーディング中に間違いに気づけるから、バグが激減するんだ

ひよこ ひよこ

マイグレーションってどういう機能?

ペンギン先生 ペンギン先生

データベースの構造を変更するとき、その差分をSQLファイルとして記録・管理する機能だよ。チーム開発で「テーブル構造が人によって違う」というトラブルを防げるんだ。Prismaはスキーマの差分から自動でマイグレーションファイルを作ってくれるよ

ひよこ ひよこ

Prismaのデメリットってある?

ペンギン先生 ペンギン先生

複雑なSQLクエリは苦手な場面もあるね。ただPrisma自体が生SQLを書ける機能も持っているし、最近はPrisma Accelerateというエッジ対応の接続プールサービスも出てきて、ますますエコシステムが広がっているよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Prisma」って出てきたら「TypeScript向けの型安全なデータベースツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Prisma」 = プリズム(光を分解する三角柱)
💬 データベースの複雑さをプリズムのようにクリアに分解して扱えるという意味が込められているよ
← 用語集にもどる