Prisma
#Node.js
概要
Node.js(+Deno)向けにデータベースの抽象化/TypeScriptによる型付け/データベースマイグレーションなどを提供してくれるパッケージ
CLI
プロジェクトの初期化
code:shell
$ prisma init
マイグレーション (Prisma Migrate)
以下を実行すると、Prismaスキーマからマイグレーションが生成され、開発用データベースへ適用されます
code:sh
$ prisma migrate dev --name <マイグレーション名>
マイグレーションファイルはprisma/migrationsディレクトリに生成されるようです
また、_prisma_migrationsテーブルにマイグレーションの実行履歴が保存されるようです
スキーマからPrisma Clientなどを生成
code:sh
$ prisma generate
スキーマ定義を変更するたびに実行する必要あり
ちなみに、Prisma Clientの型定義はnode_modules/.prisma/client/index.d.tsに生成されるみたいです
Prisma Client
クエリを実行する際はPrisma Client(@prisma/client)を使う
Prisma Studio
PrismaにはGUIのDBクライアントが付属していて、下記コマンドで起動できます
code:shell
$ prisma studio
スキーマの定義
prisma/schema.prismaに記述する
採用事例
Cal.com
Zero Width Shortener
dub.sh
Tegon
Prisma ORMを2年運用して培ったノウハウを共有する - Speaker Deck
Cloudflareスタックで月間1200万UUの経済メディアにアバター画像生成サービスを作る / Cloudflare Developer Platform for AI avatar service - Speaker Deck
関連ページ
Prisma TypedSQL
Prismaのエコシステム
Prismaについて考える
Node.jsのORMについて
DenoのORMについて
PrismaのDenoサポートについて
リンク
Next.jsとPrismaをCloudflareにデプロイして月300万のDBクエリに無料で耐える
Prisma ORM Manifesto: Clarity and Collaboration
From Rust to TypeScript: A New Chapter for Prisma ORM