Prismaは、Node.jsとTypeScriptのための次世代のORM(オブジェクトリレーショナルマッピング)ツールです。Prismaを使用すると、データベースのスキーマを定義し、データベース操作をより簡単に行うことができます。以下に、Prismaの基本的な使い方について説明します。
Prismaのセットアップ
1.プロジェクトへのPrismaのインストール:
npm install @prisma/cli @prisma/client
2.Prismaスキーマファイルの初期化:
npx prisma init
これにより、prismaディレクトリと.envファイルがプロジェクト内に作成されます。
3.データベーススキーマの設定:
prisma/schema.prismaファイルを編集して、モデル(データベースのテーブルに相当)を定義します。
model User {
id Int @id @default(autoincrement())
name String
email String @unique
}
4.データベースへの接続:
.envファイルにデータベース接続情報を設定します。
DATABASE_URL="postgresql://username:password@localhost:3306/mydb"
5.データベースのマイグレーション:
モデルの変更をデータベースに適用します。
npx prisma migrate dev --name init
データベース操作
Prisma Clientを使用して、データベースのCRUD(作成、読み取り、更新、削除)操作を行います。
1.データの作成:
const prisma = new PrismaClient();
async function createUser() {
const user = await prisma.user.create({
data: {
name: 'Alice',
email: 'alice@example.com',
},
});
return user;
}
2.データの読み取り:
async function getUsers() {
const users = await prisma.user.findMany();
return users;
}
3.データの更新:
async function updateUser(userId, newEmail) {
const user = await prisma.user.update({
where: { id: userId },
data: { email: newEmail },
});
return user;
}
4.データの削除:
async function deleteUser(userId) {
const user = await prisma.user.delete({
where: { id: userId },
});
return user;
}
これらの基本操作を通じて、Prisma Clientを使用してデータベースを操作できます。PrismaはTypeScriptとの互換性も高く、強力な型安全性と自動補完機能を提供します。
公式ドキュメント(Prisma Docs)
https://www.prisma.io/docs