· 考虑因素项目——Prisma Schema
欢迎光临 阶乘工程Schema仓库。 。 。 .
此寄存器包含 官方的Prisma计划,迁移,以及因斯温氏后端系统的相关设置。 专为 阶乘 财务报告和审定财务报表 绝对不能 用于任何其他项目.
⚠️ 重要内容:
这是一个 私人计划. 严格禁止在因斯威斯环外使用这一计划.
目录
项目概况
这个计划是 单一真相来源 用于因斯威德后端数据库.
它定义了所有服务与"因果相通"数据层互动所需的模型,关系,enum,以及制约.
- 用于所有DB模型的中央化计划
- 与Prisma管理移民
- 符合业务逻辑的 Enums 和映射
- 使用 Prisma 客户端为多租户设置设计
QQ 技术堆栈
- Prisma ORM 软件 ——数据库建模和迁移
- 类型脚本 - 类型安全计划和客户端代码
- MySQL 数据 ——主数据库引擎
- 节点.js / NestJS - 用于后端整合
项目结构
prisma/schema.prisma+ 核心数据库模型和因斯威特语词库.migrations/+ 由 Prisma 在推动更改时自动生成 .package.json用于内部管理版本和出版计划.README.md项目文件.
开始
npm install
npx prisma generate
npm run db:plan -- describe_your_change
生产数据库的变化
不运行 prisma db push 反对生产。 这个数据库很大,而且
历史计划漂移,所以 db push 可以意外地更改无关的表格.
使用一个重点突出、经过审查的 SQL 更改代替:
-
将当前方案作为基线.
-
编辑
prisma/schema.prisma一个逻辑变化. -
生成只包含编辑的 SQL :
npm run db:plan -- add_customer_key -
审查生成的文件在
prisma/changes/命令报告 用于扫描、锁定或重建人口表的操作. -
在生产大小的中转数据库上测试SQL. 指数或外国 在大表格上按键,使用在线更改计划工具,并按期排列 流量低; Prisma 无法使 MySQL 表格的运行即时.
-
应用精确的审查文件 :
npm run db:check -- prisma/changes/<file>.sql npm run db:apply -- prisma/changes/<file>.sql npm run generate命令要求您输入
APPLY在连接到配置之前 数据库。 文件包含DROP TABLE或者说DROP COLUMN请求一秒钟DELETE证实。 非交互式 CI 可使用--confirm-production并且,对于破坏性的变化,--confirm-data-loss。 。 。 . -
提交
schema.prisma和 SQL 更改文件.
db:plan 将工作计划与承诺计划相比较,而不是
实时数据库。 这使得旧的、无关的数据库漂移无法包含在内
在新的生产变化中。 这个 db:apply 命令使用配置的数据库
以 DATABASE_URL;在确认生产执行之前核实该目标.
建造并维护于 递补开发小组。 。 。 .