Prisma Migrate

手間いらず
データベースマイグレーション

Prisma Migrate は Prisma スキーマの変更を利用して、完全にカスタマイズ可能なデータベーススキーマのマイグレーションを自動生成します。

schema.prisma
1model User {
2 id Int @id @default(autoincrement())
3 email String @unique
4 name String?
5}
init/20210211160000_init/migration.sql
-- CreateTable
CREATE TABLE "User" (
"id" SERIAL NOT NULL,
"email" TEXT NOT NULL,
"name" TEXT,
PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "User.email_unique" IN "User"("email");

自動生成

マイグレーションは自動的に生成されるため、SQL を手動で記述する必要はありません。

決定論的/再現可能

Migrate は SQL マイグレーションを生成し、マイグレーションが常に環境間で同じデータベーススキーマになるようにします。

カスタマイズ可能

生成された SQL マイグレーションは完全にカスタマイズ可能で、正確な変更を完全に制御できます。

イテレーション

開発の高速化

マイグレーションなしで高速にプロトタイプ作成

プロトタイプ作成中に、マイグレーションを作成せずに `prisma db push` コマンドを使用してデータベーススキーマを迅速に作成できます。

統合されたシーディング

JavaScript、TypeScript、または Shell でシードスクリプトを定義することにより、データベースにデータを迅速にシードできます。

スマートな問題解決

Migrate はデータベーススキーマのドリフトを検出し、それらの解決を支援します。

デプロイメント

本番環境での信頼性

専用の本番環境ワークフロー

Migrate は、本番環境でマイグレーションを安全に実行するための専用ワークフローをサポートしています。

CI/CD 連携

Migrate は CI/CD パイプライン (例: GitHub Actions) に統合して、デプロイメント前にマイグレーションの適用を自動化できます。

競合の検出と解決

Migrate は、適用されたマイグレーションを追跡し、マイグレーションとデータベーススキーマ間の競合とドリフトを検出および解決するためのツールを提供します。

Prisma Client とのシームレスな統合

Prisma Migrate を Prisma Client と共に使用すると、スキーマの変更はアプリケーションコードで型チェックされます。これにより、データベーススキーマの変更がアプリケーションコードの変更を必要とする場合に発生するエラーが解消されます。

宣言的なデータモデリング

Prisma Migrate は、Prisma スキーマ (人間が読める宣言的なデータベーススキーマの定義) の変更に基づいてマイグレーションを生成します。これにより、到達するための手順ではなく、目的のデータベーススキーマに集中できます。

データベースのバージョン管理

Prisma Migrate を使用すると、生成されたマイグレーションは Git リポジトリで追跡されるため、アプリケーションコードと並行してデータベーススキーマを変更できます。

合理化されたコラボレーション

Prisma Migrate は、チームが本番環境に移行する前にデータベーススキーマの変更をレビューおよびテストすることを容易にするワークフローにより、スムーズなコラボレーションを実現します。

既存のプロジェクトで利用可能

Prisma Migrate は、PostgreSQL、MySQL、MariaDB、SQL Server、CockroachDB、または SQLite を使用する既存のプロジェクトであれば、どれでも採用できます。