メインコンテンツにスキップ

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つのリレーションも定義します

  • UserPost間の1対多のリレーション(つまり、「1人のユーザーは多数の投稿を持つことができる」)
  • UserProfile間の1対1のリレーション(つまり、「1人のユーザーは1つのプロフィールを持つことができる」)

データモデルをデータベーススキーマにマッピングするには、prisma migrate CLIコマンドを使用する必要があります

npx prisma migrate dev --name init

このコマンドは2つのことを行いました

  1. このマイグレーションの新しいSQLマイグレーションファイルを生成しました
  2. データベースに対してSQLマイグレーションファイルを実行しました

生成されたSQLマイグレーションファイルは、新しく作成されたprisma/migrationsディレクトリで確認できます。

Prisma Studioでデータベースを探索する

Prisma Studioは、データベースのビジュアルエディタです。ターミナルで次のコマンドを使用して開くことができます

npx prisma studio

データベースを作成したばかりなので、レコードは表示されませんが、空のUserPost、およびProfileテーブルを確認できます。

素晴らしい、これでPrisma Migrateを使用してデータベースに3つのテーブルを作成しました。次のセクションでは、TypeScriptアプリからデータベースにクエリを送信できるようにするPrisma Clientのインストール方法を学びます。