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

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

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

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

npx prisma migrate dev --name init

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

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

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

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

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

npx prisma studio

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

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

© . All rights reserved.