Prisma migrate

无忧
数据库迁移

Prisma Migrate 使用 Prisma schema 更改自动生成完全可定制的数据库 schema 迁移

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 迁移,确保迁移在不同环境中始终产生相同的数据库 schema。

可定制

生成的 SQL 迁移可以完全自定义,让您可以完全控制确切的更改。

迭代

开发中快速

在没有迁移的情况下快速原型开发

在原型开发期间,您可以使用 prisma db push 命令快速创建数据库 schema,而无需创建迁移。

集成种子数据

通过在 JavaScript、TypeScript 或 Shell 中定义种子脚本,快速为数据库填充数据。

智能问题解决

Migrate 检测数据库 schema 漂移并协助您解决这些问题。

部署

生产环境可靠

专用生产工作流程

Migrate 支持在生产环境中安全执行迁移的专用工作流程。

CI/CD 集成

Migrate 可以集成到 CI/CD 管道(例如 GitHub Actions)中,以在部署前自动应用迁移。

冲突检测和解决

Migrate 跟踪已应用的迁移,并提供工具来检测和解决迁移与数据库 schema 之间的冲突和漂移。

与 Prisma Client 无缝集成

将 Prisma Migrate 与 Prisma Client 结合使用时,schema 更改将在您的应用程序代码中进行类型检查。这消除了因数据库 schema 更改需要更改应用程序代码而引起的错误。

声明式数据建模

Prisma Migrate 基于 Prisma schema 中的更改生成迁移——Prisma schema 是数据库 schema 的人类可读的声明式定义。这使您可以专注于您期望的数据库 schema,而不是实现该 schema 的步骤。

数据库的版本控制

借助 Prisma Migrate,生成的迁移会在您的 Git 存储库中进行跟踪,使您可以与应用程序代码同步更改数据库 schema。

简化的协作

Prisma Migrate 通过工作流程实现顺畅的协作,使团队可以轻松地在投入生产之前审查和测试数据库 schema 更改。

自带项目

Prisma Migrate 可以应用于任何使用 PostgreSQL、MySQL、MariaDB、SQL Server、CockroachDB 或 SQLite 的现有项目。