Prisma Migrateを使用する
データベーススキーマの作成
このガイドでは、Prisma Migrateを使用してデータベースにテーブルを作成します。
これを行うには、まず次のPrismaデータモデルをprisma/schema.prisma
のPrismaスキーマに追加します。
prisma/schema.prisma
model Post {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
title String
content String?
published Boolean @default(false)
author User @relation(fields: [authorId], references: [id])
authorId Int
}
model Profile {
id Int @id @default(autoincrement())
bio String?
user User @relation(fields: [userId], references: [id])
userId Int @unique
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
posts Post[]
profile Profile?
}
このデータモデルは、3つのモデルを定義します(これらは基盤となるデータベースのテーブルにマッピングされます)
Post
Profile
User
また、2つのリレーションも定義します
User
とPost
間の1対多のリレーション(つまり、「1人のユーザーは多数の投稿を持つことができる」)User
とProfile
間の1対1のリレーション(つまり、「1人のユーザーは1つのプロフィールを持つことができる」)
データモデルをデータベーススキーマにマッピングするには、prisma migrate
CLIコマンドを使用する必要があります
npx prisma migrate dev --name init
このコマンドは2つのことを行いました
- このマイグレーションの新しいSQLマイグレーションファイルを生成しました
- データベースに対してSQLマイグレーションファイルを実行しました
生成されたSQLマイグレーションファイルは、新しく作成されたprisma/migrations
ディレクトリで確認できます。
Prisma Studioでデータベースを探索する
Prisma Studioは、データベースのビジュアルエディタです。ターミナルで次のコマンドを使用して開くことができます
npx prisma studio
データベースを作成したばかりなので、レコードは表示されませんが、空のUser
、Post
、およびProfile
テーブルを確認できます。
素晴らしい、これでPrisma Migrateを使用してデータベースに3つのテーブルを作成しました。次のセクションでは、TypeScriptアプリからデータベースにクエリを送信できるようにするPrisma Clientのインストール方法を学びます。