library-picturebook-activity/backend/docs/SCHEMA_CHANGE_GUIDE.md
aid 418aa57ea8 Day4: 超管端设计优化 + UGC绘本创作社区P0实现
一、超管端设计优化
- 文档管理SOP体系建立,docs目录重组
- 统一用户管理:跨租户全局视角,合并用户管理+公众用户
- 活动监管全模块重构:全部活动(统计卡片+阶段筛选+SuperDetail详情页)、报名数据/作品数据/评审进度(两层合一扁平列表)、成果发布(去Tab+统计+隐藏写操作)
- 菜单精简:移除评委管理/评审规则/通知管理
- Bug修复:租户编辑丢失隐藏菜单、pageSize限制、主色统一

二、UGC绘本创作社区P0
- 数据库:10张新表(user_works/user_work_pages/work_tags等)
- 子女账号独立化:Child升级为独立User,家长切换+独立登录
- 用户作品库:CRUD+发布审核,8个API
- AI创作流程:提交→生成→保存到作品库,4个API
- 作品广场:首页改造为推荐流,标签+搜索+排序
- 内容审核(超管端):作品审核+作品管理+标签管理
- 活动联动:WorkSelector作品选择器
- 布局改造:底部5Tab(发现/创作/活动/作品库/我的)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 22:20:25 +08:00

129 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Prisma Schema 修改后的操作指南
## 修改 schema.prisma 后需要执行的步骤
### 1. 生成 Prisma Client必须
```bash
cd backend
npx prisma generate
# 或使用 npm script
npm run prisma:generate
```
**作用**:根据最新的 schema 重新生成 Prisma Client使 TypeScript 类型和代码与数据库结构同步。
---
### 2. 应用数据库迁移(必须)
根据环境选择不同的方式:
#### 开发环境(推荐)
```bash
cd backend
npx prisma migrate dev
# 或使用 npm script
npm run prisma:migrate
```
**作用**
- 应用待执行的迁移到数据库
- 如果有新的迁移,会自动创建并应用
- 会重置开发数据库(如果使用 shadow database
#### 生产环境
```bash
cd backend
npx prisma migrate deploy
# 或使用 npm script
npm run prisma:migrate:deploy
```
**作用**
- 仅应用待执行的迁移,不会创建新迁移
- 不会重置数据库
- 适合生产环境使用
#### 快速同步(仅开发环境,不推荐用于生产)
```bash
cd backend
npx prisma db push
```
**作用**
- 直接将 schema 变更推送到数据库
- 不创建迁移文件
- 适合快速原型开发
---
### 3. 重启应用(如果正在运行)
应用迁移后,需要重启 NestJS 应用以加载新的 Prisma Client
```bash
# 如果使用 npm run start:dev会自动重启
# 如果使用其他方式启动,需要手动重启
```
---
## 当前状态
**已完成**
- schema.prisma 已修改content 字段改为 TEXT
- 迁移文件已创建:`20251118211424_change_log_content_to_text`
**待执行**
1. 生成 Prisma Client
2. 应用数据库迁移
3. 重启应用(如果正在运行)
---
## 执行顺序
```bash
# 1. 生成 Prisma Client
cd backend
npx prisma generate
# 2. 应用迁移(开发环境)
npx prisma migrate dev
# 或生产环境
npx prisma migrate deploy
# 3. 重启应用(如果需要)
# 如果使用 start:dev会自动重启
```
---
## 验证迁移是否成功
```bash
# 检查迁移状态
npx prisma migrate status
# 查看数据库结构
npx prisma studio
```
---
## 注意事项
1. **生产环境**:务必使用 `prisma migrate deploy`,不要使用 `prisma migrate dev`
2. **备份数据**:在生产环境应用迁移前,建议先备份数据库
3. **迁移冲突**:如果迁移失败,检查错误信息并解决后再继续
4. **类型同步**:每次修改 schema 后都要运行 `prisma generate` 更新类型