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は、GitHub ActionsなどのCI/CDパイプラインに統合でき、デプロイ前にマイグレーションの適用を自動化できます。

競合の検出と解決

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

Prisma Clientとのシームレスな連携

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

宣言的データモデリング

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

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

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

効率的なコラボレーション

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

既存のプロジェクトにも対応

Prisma Migrateは、PostgreSQL、MySQL、MariaDB、SQL Server、CockroachDB、SQLiteを使用する既存のプロジェクトに導入できます。

© . All rights reserved.