はじめに
Prismaを導入すれば、ソースコードに直接SQLを書くことなく、DBの操作が可能になります。
DBはDocke上のローカル開発用MySQLを使用します。
1.Prisma CLIのインストール:
Prisma CLIをプロジェクトにインストールします。
npm install @prisma/client
npm install prisma --save-dev
2.Prismaの初期設定:
Prismaを初期化します。
npx prisma init
これにより、prisma
ディレクトリとprisma/schema.prisma
ファイルが作成されます。
3.schema.prismaの設定
prisma/schema.prisma
ファイルを開き、データベースの設定を行います。MySQL用のデータベース接続設定は以下のようになります。
※model Post部分を作りたいテーブルのかたちにする
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
model User { //ユーザーの例
id Int @id @default(autoincrement())
name String
posts Post[]
}
また、プロジェクトのルートディレクトリに.env
ファイルを作成し、データベースの接続情報を記述します。
DATABASE_URL="mysql://user:password@localhost:3306/datebasename"
4.Prisma Clientの生成
prisma generate
コマンドを実行してPrisma Clientを生成します。
npx prisma generate
5.データベースのマイグレーション
スキーマをデータベースに適用するために、マイグレーションを実行します。
npx prisma migrate dev --name init
6.Express.jsにPrismaを統合
Express.jsアプリケーションにPrisma Clientを統合します。
import express from 'express';
import { PrismaClient } from '@prisma/client';
const app = express();
const prisma = new PrismaClient();
app.use(express.json());
app.get('/transactions', async (req, res) => {
const transactions = await prisma.transaction.findMany();
res.json(transactions);
});
const PORT = process.env.PORT;
app.listen(PORT, () =>
console.log(`Server is running on http://localhost:${PORT}`)
);