218 lines
4.8 KiB
Markdown
218 lines
4.8 KiB
Markdown
# 应用管理模块 - 数据库导入说明
|
||
|
||
## 📋 SQL 文件清单
|
||
|
||
| 文件名 | 说明 | 执行顺序 |
|
||
|--------|------|---------|
|
||
| `pangu_tables.sql` | 表结构(pg_application, pg_api_dict, pg_app_api) | ① 必须 |
|
||
| `pangu_menu.sql` | 菜单数据(应用管理菜单及权限) | ② 必须 |
|
||
| `open_api_dict_data.sql` | API 字典初始数据(学生列表接口) | ③ 必须 |
|
||
|
||
---
|
||
|
||
## 🚀 方式一:自动检查并导入(推荐)
|
||
|
||
使用提供的自动化脚本,会自动检查表和数据是否存在,缺失则自动导入。
|
||
|
||
### 步骤:
|
||
|
||
```bash
|
||
cd /Users/felix/pgWorkSpace/pangu-user-platform/backend/pangu-modules/pangu-business/sql
|
||
|
||
# 基本用法(使用默认配置)
|
||
./check_and_import.sh -p your_password
|
||
|
||
# 指定完整配置
|
||
./check_and_import.sh -h 8.148.25.55 -P 3306 -d pguser-db -u root -p your_password
|
||
```
|
||
|
||
### 参数说明:
|
||
|
||
| 参数 | 说明 | 默认值 |
|
||
|------|------|--------|
|
||
| -h, --host | 数据库主机 | 8.148.25.55 |
|
||
| -P, --port | 数据库端口 | 3306 |
|
||
| -d, --database | 数据库名称 | pguser-db |
|
||
| -u, --user | 数据库用户 | root |
|
||
| -p, --password | 数据库密码 | 无(必填) |
|
||
|
||
### 脚本功能:
|
||
|
||
✅ 自动检查数据库连接
|
||
✅ 检查表是否存在
|
||
✅ 检查菜单是否存在
|
||
✅ 检查 API 字典数据是否存在
|
||
✅ 缺失则自动导入
|
||
✅ 彩色输出,清晰直观
|
||
|
||
---
|
||
|
||
## 🔧 方式二:手动导入
|
||
|
||
如果需要手动导入,请按以下顺序执行:
|
||
|
||
### 1. 导入表结构
|
||
|
||
```bash
|
||
mysql -h 8.148.25.55 -P 3306 -u root -p pguser-db < pangu_tables.sql
|
||
```
|
||
|
||
**表结构说明**:
|
||
- `pg_application` - 第三方应用表(存储应用信息、AppCode、AppSecret)
|
||
- `pg_api_dict` - API 接口字典表(可授权的接口列表)
|
||
- `pg_app_api` - 应用 API 授权表(多对多关系)
|
||
|
||
### 2. 导入菜单数据
|
||
|
||
```bash
|
||
mysql -h 8.148.25.55 -P 3306 -u root -p pguser-db < pangu_menu.sql
|
||
```
|
||
|
||
**菜单说明**:
|
||
- menu_id: 2300 - 应用管理(一级菜单)
|
||
- menu_id: 2301-2306 - 应用管理相关权限(查询、新增、修改、删除、重置密钥、接口授权)
|
||
|
||
### 3. 导入 API 字典数据
|
||
|
||
```bash
|
||
mysql -h 8.148.25.55 -P 3306 -u root -p pguser-db < open_api_dict_data.sql
|
||
```
|
||
|
||
**数据说明**:
|
||
- api_code: OPEN_STUDENT_LIST - 学生列表查询接口
|
||
|
||
---
|
||
|
||
## ✅ 验证导入
|
||
|
||
### 1. 检查表结构
|
||
|
||
```sql
|
||
-- 查看表是否存在
|
||
SHOW TABLES LIKE 'pg_%';
|
||
|
||
-- 查看表结构
|
||
DESC pg_application;
|
||
DESC pg_api_dict;
|
||
DESC pg_app_api;
|
||
|
||
-- 查看表数据量
|
||
SELECT COUNT(*) FROM pg_application;
|
||
SELECT COUNT(*) FROM pg_api_dict;
|
||
SELECT COUNT(*) FROM pg_app_api;
|
||
```
|
||
|
||
### 2. 检查菜单数据
|
||
|
||
```sql
|
||
-- 查看应用管理菜单
|
||
SELECT menu_id, menu_name, perms, icon
|
||
FROM sys_menu
|
||
WHERE menu_id >= 2300 AND menu_id < 2400
|
||
ORDER BY menu_id;
|
||
|
||
-- 预期结果:
|
||
-- 2300 应用管理
|
||
-- 2301 应用查询
|
||
-- 2302 应用新增
|
||
-- 2303 应用修改
|
||
-- 2304 应用删除
|
||
-- 2305 重置密钥
|
||
-- 2306 接口授权
|
||
```
|
||
|
||
### 3. 检查 API 字典数据
|
||
|
||
```sql
|
||
-- 查看 API 字典
|
||
SELECT * FROM pg_api_dict;
|
||
|
||
-- 预期结果:
|
||
-- api_code: OPEN_STUDENT_LIST
|
||
-- api_name: 学生列表
|
||
-- api_path: /open/api/student/list
|
||
```
|
||
|
||
---
|
||
|
||
## 🔍 常见问题
|
||
|
||
### Q1: 导入时报错 "Table already exists"
|
||
|
||
**原因**:表已存在
|
||
**解决**:这是正常的,说明表已经导入过了,可以忽略
|
||
|
||
### Q2: 导入菜单时报错 "Duplicate entry"
|
||
|
||
**原因**:菜单数据已存在
|
||
**解决**:可以忽略,或者先删除旧菜单再导入
|
||
|
||
```sql
|
||
-- 删除旧菜单(谨慎操作)
|
||
DELETE FROM sys_menu WHERE menu_id >= 2300 AND menu_id < 2400;
|
||
```
|
||
|
||
### Q3: 如何重新导入所有数据?
|
||
|
||
```bash
|
||
# 1. 删除表(会丢失所有应用数据)
|
||
mysql -h 8.148.25.55 -P 3306 -u root -p pguser-db -e "
|
||
DROP TABLE IF EXISTS pg_app_api;
|
||
DROP TABLE IF EXISTS pg_application;
|
||
DROP TABLE IF EXISTS pg_api_dict;
|
||
"
|
||
|
||
# 2. 删除菜单
|
||
mysql -h 8.148.25.55 -P 3306 -u root -p pguser-db -e "
|
||
DELETE FROM sys_menu WHERE menu_id >= 2300 AND menu_id < 2400;
|
||
"
|
||
|
||
# 3. 重新导入
|
||
./check_and_import.sh -p your_password
|
||
```
|
||
|
||
---
|
||
|
||
## 📝 导入后的操作
|
||
|
||
### 1. 重启后端服务
|
||
|
||
```bash
|
||
cd /Users/felix/pgWorkSpace/pangu-user-platform/backend
|
||
./build.sh -r
|
||
```
|
||
|
||
### 2. 刷新前端页面
|
||
|
||
打开浏览器访问:http://localhost:80
|
||
|
||
### 3. 检查菜单是否显示
|
||
|
||
登录后台 → 左侧菜单 → 应该能看到"应用管理"菜单
|
||
|
||
### 4. 创建测试应用
|
||
|
||
进入【应用管理】→ 点击【新增】→ 填写应用信息 → 保存
|
||
|
||
---
|
||
|
||
## 🔗 相关文档
|
||
|
||
- [技术方案](/docs/2-技术方案.md)
|
||
- [接口文档](/docs/3-接口文档.md)
|
||
- [运维文档](/docs/4-运维文档.md)
|
||
- [PHP 客户端使用指南](/test/README.md)
|
||
|
||
---
|
||
|
||
## 📞 技术支持
|
||
|
||
如导入过程中遇到问题,请检查:
|
||
1. 数据库连接配置是否正确
|
||
2. 数据库用户是否有足够权限
|
||
3. SQL 文件是否完整
|
||
4. 后端日志:`/tmp/pangu-admin.log`
|
||
|
||
**pangu**
|
||
2026-02-04
|