Skip to content

Prisma 与初始化数据

本文面向需要维护数据库结构、执行迁移或初始化默认数据的后端研发人员。它说明数据库结构如何管理、迁移如何执行、默认数据如何进入目标环境。

Prisma 在这里负责什么

当前项目使用 Prisma 管理:

  • 数据模型
  • 数据库迁移
  • Prisma Client 生成
  • 部分脚本执行依赖

核心文件位于:

text
prisma/schema.prisma

你能从 schema 里看到什么

除了基础用户权限模型,当前 schema 已覆盖多类商业版能力,例如:

  • 通知
  • 反馈
  • 定时任务
  • 系统参数
  • 数据权限
  • 安全审计
  • 文件中心
  • 内容管理
  • 商城
  • 工作流

这意味着商业版后端的数据层已经按使用场景进行扩展,不应只按演示数据处理。

开发常用命令

bash
pnpm prisma:generate
pnpm prisma:migrate:dev
pnpm prisma:migrate:deploy
pnpm prisma:studio

初始化脚本协作方式

常见脚本包括:

  • pnpm seed:dev
  • pnpm seed:mall:dev
  • pnpm seed:default
  • pnpm create:admin
  • pnpm init:scheduled-tasks
  • pnpm sync:role-permissions

它们分别承担不同层级的初始化职责,不建议把所有逻辑都堆进一个脚本。

推荐使用方式

开发环境

优先使用:

bash
pnpm setup:dev
pnpm seed:dev

生产环境

优先使用:

bash
pnpm build
pnpm prisma:migrate:deploy
pnpm seed:default
pnpm create:admin

是否执行演示数据脚本,要根据实际实际项目决定。

注意事项

  • migrate:dev 更适合开发演进
  • migrate:deploy 更适合生产环境发布
  • 涉及权限、管理员、定时任务的默认数据,最好纳入标准初始化步骤

检查清单

数据库与初始化完成后,建议确认:

  • 目标环境已执行生产适用的迁移命令。
  • Prisma Client 已生成,服务启动时没有 schema 不一致问题。
  • 管理员、默认角色、菜单权限和定时任务数据已按功能范围初始化。
  • 演示数据脚本是否执行已根据项目使用要求明确记录。

根据 MIT 许可证发布