用途
prisma migrate reset 用于重置数据库并重新应用所有迁移,让数据库回到由迁移历史定义的一致状态。典型使用目的包括:
- 开发:需要一个全新的开始。
- 测试:在测试套件运行前重置测试数据库。
- 漂移恢复:当数据库与迁移历史不同步、无法正常迁移时,用重置来恢复一致状态。
主要能力
执行该命令时,它会:
- 删除数据库(如果可能),或删除所有数据与表。
- 重新创建数据库。
- 应用 prisma/migrations/ 中的全部迁移。
- 运行种子脚本(如果已配置)。
注意:所有数据都会丢失。
使用方式
命令形式:
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 主要关注数据库状态。
- 重置后默认会运行种子脚本。
限制与注意事项
该命令会删除全部数据,只在可以接受数据丢失的场景(如开发、测试)使用。除上述选项与行为外,其他功能、收费、价格、平台或效果信息暂未提供。