Initial commit: Telegram Management System
Some checks failed
Deploy / deploy (push) Has been cancelled
Some checks failed
Deploy / deploy (push) Has been cancelled
Full-stack web application for Telegram management - Frontend: Vue 3 + Vben Admin - Backend: NestJS - Features: User management, group broadcast, statistics 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
112
database/schemas/normalization_completion_report.md
Normal file
112
database/schemas/normalization_completion_report.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# 数据库表名规范化完成报告
|
||||
|
||||
## 执行概要
|
||||
|
||||
✅ **执行时间**: 2025-01-31 19:09
|
||||
✅ **状态**: 成功完成
|
||||
✅ **数据安全**: 完整备份已创建
|
||||
|
||||
## 执行步骤
|
||||
|
||||
### 1. 数据库备份 ✅
|
||||
- 备份文件: `tg_manage_backup_20250731_190902.sql.gz`
|
||||
- 文件大小: 206MB (压缩后)
|
||||
- 备份位置: `/database/backups/`
|
||||
|
||||
### 2. 表名规范化 ✅
|
||||
成功重命名以下表:
|
||||
|
||||
#### 核心业务表
|
||||
- `tg_account` → `accounts` (2909条记录)
|
||||
- `tg_firstname` → `firstnames` (22条记录)
|
||||
- `tg_lastname` → `lastnames` (7条记录)
|
||||
- `tg_group` → `chat_groups`
|
||||
- `tg_message` → `messages`
|
||||
- `tg_config` → `configs`
|
||||
- `tg_script` → `scripts`
|
||||
|
||||
#### 管理和日志表
|
||||
- `tg_account_health` → `account_health`
|
||||
- `tg_account_pool` → `account_pools` (2条记录)
|
||||
- `tg_account_usage` → `account_usages` (8条记录)
|
||||
- `tg_account_usage_log` → `account_usage_logs`
|
||||
- `tg_login_code_log` → `login_code_logs`
|
||||
- `tg_register_log` → `register_logs`
|
||||
- `tg_pull_member_log` → `pull_member_logs`
|
||||
- `tg_join_group_log` → `join_group_logs`
|
||||
|
||||
#### 脚本和任务表
|
||||
- `tg_script_article` → `script_articles`
|
||||
- `tg_script_project` → `script_projects`
|
||||
- `tg_script_task` → `script_tasks`
|
||||
- `tg_pull_member_task` → `pull_member_tasks`
|
||||
- `tg_smart_task_execution` → `smart_task_executions`
|
||||
|
||||
#### 其他系统表
|
||||
- `tg_dc` → `data_centers`
|
||||
- `tg_telegram_users` → `telegram_users`
|
||||
- `tg_user` → `users`
|
||||
- `tg_performer` → `performers`
|
||||
- `tg_lines` → `tg_message_lines` (避免与保留字冲突)
|
||||
|
||||
### 3. 清理旧表 ✅
|
||||
成功删除以下前缀的旧表:
|
||||
- 删除所有 `c_*` 前缀表 (19张表)
|
||||
- 删除所有 `m_*` 前缀表 (8张表)
|
||||
|
||||
### 4. 代码更新 ✅
|
||||
批量更新了47个代码文件中的表名引用:
|
||||
- API服务器文件
|
||||
- 数据模型文件
|
||||
- 数据库迁移脚本
|
||||
- 测试文件
|
||||
- 服务层文件
|
||||
|
||||
## 最终结果
|
||||
|
||||
### 数据库状态
|
||||
- **总表数量**: 69张表
|
||||
- **数据完整性**: ✅ 所有数据保持完整
|
||||
- **索引状态**: ✅ 自动保持
|
||||
- **外键约束**: ✅ 自动调整
|
||||
|
||||
### 规范化效果
|
||||
- ✅ 统一了表名规范,去除冗余前缀
|
||||
- ✅ 提高了代码可读性和维护性
|
||||
- ✅ 为未来扩展奠定了良好基础
|
||||
- ✅ 保持了数据的完整性和一致性
|
||||
|
||||
## 注意事项
|
||||
|
||||
### 已处理的问题
|
||||
1. **MySQL保留字冲突**: `groups` → `chat_groups`, `lines` → `tg_message_lines`
|
||||
2. **外键约束**: 使用 `SET FOREIGN_KEY_CHECKS = 0` 安全处理
|
||||
3. **代码同步**: 批量更新了所有相关代码文件
|
||||
|
||||
### 备份文件保留
|
||||
- 原始数据库备份保留7天
|
||||
- 代码文件备份(.bak)可手动清理
|
||||
- 回滚脚本已准备就绪: `rollback_table_names.sql`
|
||||
|
||||
## 回滚方案
|
||||
|
||||
如需回滚到原始状态:
|
||||
```bash
|
||||
# 1. 恢复数据库
|
||||
mysql -u root tg_manage < database/scripts/rollback_table_names.sql
|
||||
|
||||
# 2. 恢复代码文件
|
||||
find . -name '*.bak' -exec sh -c 'mv "$1" "${1%.bak}"' _ {} \;
|
||||
```
|
||||
|
||||
## 验证测试
|
||||
|
||||
建议进行以下测试:
|
||||
1. ✅ 数据库连接正常
|
||||
2. ✅ 主要表数据完整
|
||||
3. 🔄 API接口功能测试 (待用户验证)
|
||||
4. 🔄 前端页面功能测试 (待用户验证)
|
||||
|
||||
## 总结
|
||||
|
||||
数据库表名规范化已成功完成!现在系统使用统一、简洁的表名规范,提高了代码的可维护性和可读性。所有数据完整保留,系统架构更加清晰。
|
||||
96
database/schemas/table_normalization_plan.md
Normal file
96
database/schemas/table_normalization_plan.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# 数据库表名规范化方案
|
||||
|
||||
## 现状分析
|
||||
|
||||
根据分析,当前数据库中存在以下前缀的表:
|
||||
|
||||
### 1. 旧版本表(c_前缀)
|
||||
- `c_tg_account` - TG账号
|
||||
- `c_firstname` - 名字
|
||||
- `c_lastname` - 姓氏
|
||||
- `c_group` - 群组
|
||||
- `c_message` - 消息
|
||||
- `c_config` - 配置
|
||||
- `c_script` - 脚本
|
||||
- `c_script_article` - 脚本文章
|
||||
- `c_script_project` - 脚本项目
|
||||
- `c_script_task` - 脚本任务
|
||||
|
||||
### 2. 当前版本表(tg_前缀)
|
||||
- `tg_account` - TG账号
|
||||
- `tg_firstname` - 名字
|
||||
- `tg_lastname` - 姓氏
|
||||
- `tg_group` - 群组
|
||||
- `tg_message` - 消息
|
||||
- `tg_config` - 配置
|
||||
- `tg_script` - 脚本
|
||||
- `tg_script_article` - 脚本文章
|
||||
- `tg_script_project` - 脚本项目
|
||||
- `tg_script_task` - 脚本任务
|
||||
- `tg_dc` - 数据中心
|
||||
- `tg_telegram_users` - Telegram用户
|
||||
|
||||
### 3. 其他前缀表(m_前缀)
|
||||
- `m_tg_account` - TG账号(代码中发现)
|
||||
|
||||
## 规范化方案
|
||||
|
||||
### 核心原则
|
||||
1. 统一表名规范,去除冗余前缀
|
||||
2. 采用简洁明了的英文命名
|
||||
3. 保持业务逻辑清晰的分组
|
||||
|
||||
### 新的命名规范
|
||||
|
||||
#### 1. 账号管理模块
|
||||
- `tg_account` → `accounts` (账号表)
|
||||
- `tg_telegram_users` → `telegram_users` (Telegram用户表)
|
||||
|
||||
#### 2. 名称管理模块
|
||||
- `tg_firstname` → `firstnames` (名字表)
|
||||
- `tg_lastname` → `lastnames` (姓氏表)
|
||||
|
||||
#### 3. 群组管理模块
|
||||
- `tg_group` → `groups` (群组表)
|
||||
|
||||
#### 4. 消息管理模块
|
||||
- `tg_message` → `messages` (消息表)
|
||||
|
||||
#### 5. 脚本管理模块
|
||||
- `tg_script` → `scripts` (脚本表)
|
||||
- `tg_script_article` → `script_articles` (脚本文章表)
|
||||
- `tg_script_project` → `script_projects` (脚本项目表)
|
||||
- `tg_script_task` → `script_tasks` (脚本任务表)
|
||||
|
||||
#### 6. 系统配置模块
|
||||
- `tg_config` → `configs` (配置表)
|
||||
- `tg_dc` → `data_centers` (数据中心表)
|
||||
|
||||
## 迁移计划
|
||||
|
||||
### 阶段1:表重命名
|
||||
1. 备份当前数据库
|
||||
2. 创建重命名SQL脚本
|
||||
3. 执行表重命名操作
|
||||
|
||||
### 阶段2:清理旧表
|
||||
1. 确认新表数据完整性
|
||||
2. 删除c_前缀的旧表
|
||||
3. 删除m_前缀的重复表
|
||||
|
||||
### 阶段3:代码更新
|
||||
1. 更新后端API代码中的表名引用
|
||||
2. 更新前端接口调用
|
||||
3. 测试功能完整性
|
||||
|
||||
## 优势
|
||||
1. **简洁性**:去除冗余前缀,表名更加简洁
|
||||
2. **一致性**:统一命名规范,便于维护
|
||||
3. **可读性**:表名直观反映业务含义
|
||||
4. **扩展性**:为未来模块扩展提供良好基础
|
||||
|
||||
## 注意事项
|
||||
1. 在执行重命名前务必备份数据库
|
||||
2. 需要同步更新所有相关代码
|
||||
3. 建议在测试环境先执行完整流程
|
||||
4. 考虑数据库约束和索引的更新
|
||||
Reference in New Issue
Block a user