0
0

はじめに

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}`)
);
0
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
0
0