きっかけ
UdemyでNext.jsのコースで勉強した際に、DBレイヤーがMongoDB+mongooseでの実装で後々、RDBやgraphqlに書き換えたいと思ったので、DBはMongoDBのままでprismaへまず書き換えてみました。
How to do (基本はPrisma公式に準拠)
-
Prisma CLI, Prisma Clientのインストール
npm install prisma --save-dev npm install @prisma/client
-
Prismaの初期化
npx prisma init --datasource-provider mongodb
-
.envにDATABASE_URLの追加
-
データベースからスキーマ情報の取り込み
npx prisma db pull
-
スキーマ情報の調整(リレーションや項目など)
- スキーマ書き換えたら以下コマンドでクライアントの更新を実施
npx prisma generate
- スキーマ書き換えたら以下コマンドでクライアントの更新を実施
-
Prisma Clientへの置き換え
- Prisma Clientの定義
src/prisma.ts
import { PrismaClient } from '@prisma/client' const prisma = new PrismaClient({ log: ["query"], }) export default prisma
- Prisma Clientのインポート
import prisma from '@/prisma';
- クエリの書き換え
https://www.prisma.io/docs/orm/prisma-client/queries/crud - スキーマ情報のインポート
import type { tasks } from "@prisma/client";
- Prisma Clientの定義
Ref
- Prisma公式 - Migrate from Mongoose -