Prisma MigrateをTypeScriptおよびPrisma Postgresで使用する
データベーススキーマの作成
このガイドでは、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人のユーザーは複数の投稿を持つことができます」)User
とProfile
の間の1対1リレーション(つまり、「1人のユーザーは1つのプロフィールを持つことができます」)
データモデルをデータベーススキーマにマッピングするには、prisma migrate
CLIコマンドを使用する必要があります
npx prisma migrate dev --name init
このコマンドは2つのことを行いました
- このマイグレーション用に新しいSQLマイグレーションファイルを生成しました
- データベースに対してSQLマイグレーションファイルを実行しました
新しく作成されたprisma/migrations
ディレクトリで、生成されたSQLマイグレーションファイルを確認できます。
Prisma Studioでデータベースを探索する
Prisma Studioはデータベース用のビジュアルエディターです。ターミナルで以下のコマンドで開くことができます
npx prisma studio
データベースを作成したばかりなので、レコードは表示されませんが、空のUser
、Post
、Profile
テーブルを確認することができます。
これで、Prisma Migrateを使ってデータベースに3つのテーブルを作成できました。次のセクションでは、TypeScriptアプリからデータベースにクエリを送信できるPrisma Clientのインストール方法について学びます。