本文引用的文件
本文件面向AI有声书生成平台的数据库部署与运维,聚焦于MySQL数据库的安装配置、初始化、Prisma ORM迁移机制、备份恢复策略、监控优化与安全配置。文档基于仓库中的Prisma配置、迁移脚本与示例环境变量,提供可操作的部署指导。
文档 docs/DEPLOY.md 包含部署与运维相关内容(MongoDB为主,可参考其运维思路)。
graph TB
subgraph "后端服务"
APP["应用服务"]
PRISMA["Prisma 客户端"]
MODELS["模型定义<br/>schema.prisma"]
MIGRATIONS["迁移文件<br/>migrations/*"]
ENV[".env.example<br/>DATABASE_URL"]
end
subgraph "数据库"
MYSQL["MySQL 服务器"]
SCHEMA["数据库结构<br/>schema.prisma"]
end
APP --> PRISMA
PRISMA --> MODELS
PRISMA --> MIGRATIONS
PRISMA --> MYSQL
MODELS --> SCHEMA
ENV --> MYSQL
图表来源
章节来源
章节来源
下图展示了应用、ORM与数据库之间的交互关系,以及迁移与初始化的关键节点。
sequenceDiagram
participant Dev as "开发者"
participant App as "应用服务"
participant Prisma as "Prisma 客户端"
participant DB as "MySQL 数据库"
Dev->>App : 配置 DATABASE_URL
App->>Prisma : 初始化客户端
Prisma->>DB : 建立连接
Dev->>Prisma : 执行迁移
Prisma->>DB : 应用迁移SQL
App->>Prisma : 查询/写入数据
Prisma->>DB : 执行SQL
DB-->>Prisma : 返回结果
Prisma-->>App : 返回结果
图表来源
章节来源
状态迁移脚本
sync-genstage.ts:基于安全函数同步genStage,处理并发与回退场景。
flowchart TD
Start(["开始"]) --> CheckLock["检查迁移锁定文件"]
CheckLock --> |通过| ApplyPrisma["应用 Prisma 迁移"]
CheckLock --> |冲突| WaitRetry["等待或重试"]
ApplyPrisma --> ApplyExtra["执行补充迁移 SQL"]
ApplyExtra --> GenStage["执行 genStage 迁移脚本"]
GenStage --> Done(["完成"])
WaitRetry --> CheckLock
图表来源
章节来源
章节来源
章节来源
章节来源
外部依赖
环境变量 DATABASE_URL 必须正确配置,否则连接失败。
graph LR
ENV[".env.example"] --> DBURL["DATABASE_URL"]
DBURL --> MYSQL["MySQL"]
SCHEMA["schema.prisma"] --> MIG["迁移文件"]
MIG --> MYSQL
APP["应用服务"] --> PRISMA["Prisma 客户端"]
PRISMA --> MYSQL
图表来源
章节来源
[本节为通用指导,无需特定文件引用]
章节来源
本部署文档基于仓库中的Prisma配置与迁移脚本,给出了MySQL安装、初始化、迁移、备份恢复、监控优化与安全配置的完整实践路径。建议在生产环境中结合压测与监控持续优化参数,并严格执行备份与演练流程,确保系统稳定与数据安全。
[本节为总结性内容,无需特定文件引用]
章节来源