SuperAPI AI 工具集

prisma-cli-migrate-reset

编程与开发

查看项目

更新于 10-16 04:07

技能介绍

用途

prisma migrate reset 用于重置数据库并重新应用所有迁移,让数据库回到由迁移历史定义的一致状态。典型使用目的包括:

  • 开发:需要一个全新的开始。
  • 测试:在测试套件运行前重置测试数据库。
  • 漂移恢复:当数据库与迁移历史不同步、无法正常迁移时,用重置来恢复一致状态。

主要能力

执行该命令时,它会:

  1. 删除数据库(如果可能),或删除所有数据与表。
  2. 重新创建数据库。
  3. 应用 prisma/migrations/ 中的全部迁移。
  4. 运行种子脚本(如果已配置)。

注意:所有数据都会丢失。

使用方式

命令形式:

prisma migrate reset [options]

选项:

  • --force / -f:跳过确认提示。
  • --schema:指定 schema 文件路径。
  • --config:指定 Prisma 配置文件的自定义路径。

示例:

基础重置:

prisma migrate reset

在交互式终端中会提示确认。

强制重置(CI/自动化):

prisma migrate reset --force

使用自定义 schema:

prisma migrate reset --schema=./custom/schema.prisma

种子脚本配置:

在 prisma.config.ts 中配置种子脚本,使其在重置后自动运行:

export default defineConfig({
  migrations: {
    seed: 'tsx prisma/seed.ts',
  },
})

v7 行为变化

  • 在 v6 中,migrate reset 会自动运行 prisma generate。
  • 在 v7 中,如果需要更新客户端,可能需要单独运行 prisma generate;reset 主要关注数据库状态。
  • 重置后默认会运行种子脚本。

限制与注意事项

该命令会删除全部数据,只在可以接受数据丢失的场景(如开发、测试)使用。除上述选项与行为外,其他功能、收费、价格、平台或效果信息暂未提供。