feat: Prisma 用户落库、迁移与启动环境加载
- Prisma 7 + adapter-pg;prisma.config 与 users 初始迁移\n- AppModule 挂载 PrismaModule;PrismaService 仅依赖 DATABASE_URL\n- main 入口 dotenv/config,避免 Prisma 早于 Config 读 env\n- 短信登录 upsert User;默认昵称 Chat+手机号后四位\n- README / project-solution:目录、迁移规范、用户 avatar_url 说明\n- 依赖:dotenv、@prisma/adapter-pg、pg Made-with: Cursor
This commit is contained in:
79
README.md
79
README.md
@@ -15,6 +15,22 @@ ChatOne 服务端:基于 **NestJS 11** + **Fastify**,整合多厂商大模
|
||||
|
||||
更完整的架构说明见:`docs/project-solution.md`。JWT 最小示例见:`docs/jwt-minimal-nestjs.md`。
|
||||
|
||||
## 目录
|
||||
|
||||
- [TODO(当前迭代)](#todo当前迭代)
|
||||
- [技术栈](#技术栈)
|
||||
- [目录结构(概要)](#目录结构概要)
|
||||
- [环境要求](#环境要求)
|
||||
- [安装依赖](#安装依赖)
|
||||
- [环境变量](#环境变量)
|
||||
- [常用脚本](#常用脚本)
|
||||
- [数据库迁移规范(Prisma)](#数据库迁移规范prisma)
|
||||
- [启动](#启动)
|
||||
- [API 说明](#api-说明)
|
||||
- [数据库与 Prisma](#数据库与-prisma)
|
||||
- [安全提示](#安全提示)
|
||||
- [许可证](#许可证)
|
||||
|
||||
---
|
||||
|
||||
## 技术栈
|
||||
@@ -120,6 +136,69 @@ yarn install
|
||||
| `yarn start` | 运行已编译产物 `dist/main.js` |
|
||||
| `yarn lint` | ESLint(需本地配置规则时生效) |
|
||||
|
||||
## 数据库迁移规范(Prisma)
|
||||
|
||||
### 开发环境变更流程
|
||||
|
||||
1. 修改 `prisma/schema.prisma`(新增表/字段/索引等)
|
||||
1. 生成并执行迁移:
|
||||
|
||||
```bash
|
||||
npx prisma migrate dev --name <migration_name>
|
||||
```
|
||||
|
||||
1. 如需手动更新 Prisma Client:
|
||||
|
||||
```bash
|
||||
npx prisma generate
|
||||
```
|
||||
|
||||
1. 本地验证接口与核心流程
|
||||
1. 提交代码时必须包含:
|
||||
- `prisma/schema.prisma`
|
||||
- `prisma/migrations/**`
|
||||
|
||||
### 生产环境发布流程
|
||||
|
||||
生产环境禁止使用 `migrate dev`,仅执行:
|
||||
|
||||
```bash
|
||||
npx prisma migrate deploy
|
||||
```
|
||||
|
||||
### 迁移命名规范
|
||||
|
||||
迁移名统一使用:`动词_对象_说明`
|
||||
|
||||
例如:
|
||||
|
||||
- `init_users`
|
||||
- `add_users_avatar_url`
|
||||
- `add_chat_sessions`
|
||||
- `alter_chat_messages_token_count_type`
|
||||
|
||||
### 风险控制建议
|
||||
|
||||
- 涉及删列、改类型、重命名时,先在测试库验证
|
||||
- 可能影响历史数据的迁移,先做备份
|
||||
- 大改动拆分为多次小迁移,避免一次性高风险变更
|
||||
|
||||
### 常用命令速查
|
||||
|
||||
```bash
|
||||
# 生成并执行开发迁移
|
||||
npx prisma migrate dev --name <name>
|
||||
|
||||
# 仅更新 Prisma Client
|
||||
npx prisma generate
|
||||
|
||||
# 查看数据库状态
|
||||
npx prisma migrate status
|
||||
|
||||
# 生产环境应用迁移
|
||||
npx prisma migrate deploy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 启动
|
||||
|
||||
Reference in New Issue
Block a user