flnxi-Wu/docs/reports/DATABASE_MIGRATION_REPORT.md
WuYongJie d1c6efc79d
Some checks failed
CI Check / check (push) Has been cancelled
feat: NAS 部署与 Harbor 推送流程
2025-12-03 14:39:06 +08:00

200 lines
4.8 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.

# 数据库迁移完成报告
## 📊 迁移概况
**迁移时间**: 2025-10-26
**迁移类型**: 云数据库 → 本地NAS数据库
**迁移状态**: ✅ 成功完成
---
## 🎯 迁移详情
### 1. 数据库连接信息
#### 迁移前(云数据库)
```
Host: 149.88.95.87:5432
Database: lobechat
User: postgres
Status: 已废弃(数据已清空)
```
#### 迁移后(本地NAS)
```
Host: 192.168.58.20:5432
Database: lobechat
User: gongxiangpan
Status: ✅ 正常运行
```
### 2. Docker Compose配置更新
已更新以下环境变量:
- `DATABASE_URL`: postgresql://gongxiangpan:gongxiangpan123@192.168.58.20:5432/lobechat
- `PGVECTOR_DB_URL`: postgresql://gongxiangpan:gongxiangpan123@192.168.58.20:5432/lobechat
配置文件位置: `/mnt/PoolOne/apps/youyidian-3d/docker-compose.yml`
---
## 📋 数据库表结构
### 当前数据统计
| 表名 | 记录数 | 说明 |
|-----|-------|------|
| **users** | 1 | 管理员用户(admin) |
| **categories** | 1 | 默认分类(默认店铺) |
| **scenes** | 1 | 默认场景(默认场景) |
| **materials** | 0 | 素材数据(待用户上传) |
| **material_likes** | 0 | 点赞记录 |
| **system_settings** | 1 | 系统设置(已配置) |
### 新增字段
#### materials表
- ✅ **materialType**: 素材类型字段(支持:3DMAX/PSD/AI/CAD/C4D/其他)
- 默认值: '3DMAX'
- 索引: materials_materialType_idx
#### system_settings表(新建)
- **id**: 主键
- **headerBgColor**: 顶部导航栏背景色(默认: #1f2937)
- **logoUrl**: LOGO URL(默认: http://s3.1080p.hk/shuzhou/2025/05/18/8ebadf0a7cc34eaea00e8619b8efb827.png)
- **siteName**: 网站名称(默认: FLNXI素材库)
- **createdAt**: 创建时间
- **updatedAt**: 更新时间
---
## 👤 管理员账户信息
### 默认管理员
```
用户名: admin
邮箱: admin
密码: admin123456
角色: ADMIN
状态: 激活
下载权限: 是
```
⚠️ **重要提示**: 请登录后立即修改管理员密码!
---
## 📁 文件存储信息
### 本地文件
- **位置**: `/mnt/PoolOne/apps/youyidian-3d/uploads/`
- **现有文件**: 325个素材压缩包(zip/rar/7z)
- **状态**: 文件完整,但未导入数据库
### S3存储(MinIO)
- **Bucket**: jsxiangche
- **Endpoint**: https://s3.1080p.hk
- **预览图**: 334个(webp格式)
- **状态**: 正常可访问
---
## 🔧 数据恢复方案
由于Prisma客户端兼容性问题,采用以下方案:
### 方案:用户重新上传
**优点**:
- 数据准确性高
- 可以重新审核和分类
- 用户可以补充完整的元数据(SPU、分类、场景等)
**步骤**:
1. ✅ 数据库schema已迁移完成
2. ✅ 管理员账户已创建
3. ✅ 默认分类和场景已创建
4. ✅ 系统设置已配置
5. 📝 等待用户通过网站上传素材
### 访问信息
- **内网地址**: http://192.168.58.20:4320
- **公网地址**: 通过frp穿透访问
- **管理后台**: http://192.168.58.20:4320/admin
---
## ✅ 验证清单
- [x] 数据库连接已切换到本地NAS
- [x] users表已创建并包含admin用户
- [x] categories表已创建并包含默认分类
- [x] scenes表已创建并包含默认场景
- [x] materials表已更新(添加materialType字段)
- [x] system_settings表已创建并配置
- [x] Docker容器已重启并正常运行
- [x] 所有表索引已创建
- [x] 外键约束已配置
---
## 📝 后续操作建议
### 1. 立即执行
- [ ] 登录管理后台,修改admin密码
- [ ] 测试上传功能是否正常
- [ ] 添加常用的分类和场景
### 2. 数据管理
- [ ] 通知用户重新上传素材
- [ ] 设置素材审核流程
- [ ] 配置存储空间监控
### 3. 系统优化
- [ ] 配置自动备份策略
- [ ] 设置定期数据清理任务
- [ ] 优化数据库性能参数
---
## 🛠 技术支持
### 数据库操作命令
**连接数据库**:
```bash
ssh -p 2322 root@180.97.221.140
docker run --rm -it postgres:15-alpine psql postgresql://gongxiangpan:gongxiangpan123@192.168.58.20:5432/lobechat
```
**查看统计**:
```sql
SELECT COUNT(*) FROM materials;
SELECT COUNT(*) FROM users;
SELECT * FROM system_settings;
```
**重启应用**:
```bash
cd /mnt/PoolOne/apps/youyidian-3d
docker compose restart
```
---
## 📌 注意事项
1. **旧数据无法自动恢复**: 由于云数据库已清空,无法恢复原有的325个素材的元数据(分类、场景、SPU等)
2. **文件仍然存在**: 本地的325个压缩包文件和334个S3预览图都完整保存
3. **需要重新上传**: 用户需要通过网站上传功能重新导入素材,以便正确关联元数据
4. **密码安全**: 当前使用的是临时密码hash方式,建议登录后立即修改密码
---
## 🎉 迁移成功!
数据库已成功从云端迁移到本地NAS,所有表结构完整,系统可以正常使用。
现在可以开始让用户重新上传素材了!