119 lines
3.2 KiB
Markdown
119 lines
3.2 KiB
Markdown
# 推送消息接收服务表名前缀更新完成
|
||
|
||
## 🎉 更新完成
|
||
|
||
所有推送消息接收服务相关的数据库表已成功添加 `ps_` 前缀,以避免与现有系统表的命名冲突。
|
||
|
||
## 📋 表名变更对照
|
||
|
||
| 原表名 | 新表名 | 用途 |
|
||
|--------|--------|------|
|
||
| `push_messages` | `ps_push_messages` | 推送消息主表 |
|
||
| `push_types` | `ps_push_types` | 推送类型配置表 |
|
||
| `message_processing_logs` | `ps_message_processing_logs` | 消息处理日志表 |
|
||
| `system_stats` | `ps_system_stats` | 系统统计表 |
|
||
|
||
## 🔧 更新内容
|
||
|
||
### 1. 数据库结构文件
|
||
- ✅ `database/supabase-init.sql` - 所有表定义、索引、触发器、视图、函数都已更新
|
||
|
||
### 2. 应用代码
|
||
- ✅ `lib/supabase-database.js` - 所有数据库操作方法中的表名引用已更新
|
||
- ✅ `check-config.js` - 配置检查脚本中的表名引用已更新
|
||
|
||
### 3. 文档
|
||
- ✅ `SUPABASE_ADAPTATION.md` - 适配说明文档已更新
|
||
- ✅ `README.md` - 使用说明已更新
|
||
|
||
### 4. 视图和函数
|
||
- ✅ `ps_recent_message_stats` - 消息统计视图
|
||
- ✅ `ps_active_devices_stats` - 设备活跃度统计视图
|
||
- ✅ `ps_cleanup_old_messages()` - 清理旧消息函数
|
||
- ✅ `ps_get_message_stats()` - 获取消息统计函数
|
||
|
||
### 5. 索引和约束
|
||
- ✅ 所有索引名称已更新为带 `ps_` 前缀
|
||
- ✅ 外键约束已正确关联到 `ak_users` 和 `ak_devices` 表
|
||
- ✅ 触发器名称已更新
|
||
|
||
## 🚀 部署步骤
|
||
|
||
### 1. 数据库初始化
|
||
```bash
|
||
# 在 Supabase SQL Editor 中执行
|
||
# 文件: database/supabase-init.sql
|
||
```
|
||
|
||
### 2. 环境配置
|
||
```bash
|
||
# 确保 .env 文件中有正确的 Supabase 配置
|
||
SUPABASE_URL=your-supabase-url
|
||
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
|
||
API_KEY=your-api-key
|
||
```
|
||
|
||
### 3. 测试服务
|
||
```bash
|
||
# 检查配置
|
||
npm run check-config
|
||
|
||
# 运行测试
|
||
npm test
|
||
|
||
# 启动服务
|
||
npm start
|
||
```
|
||
|
||
## 📊 API 使用无变化
|
||
|
||
API 接口和使用方式保持不变,只是底层数据库表名发生了变化:
|
||
|
||
```javascript
|
||
// API 调用方式不变
|
||
const response = await fetch('/api/push/message', {
|
||
method: 'POST',
|
||
headers: {
|
||
'Content-Type': 'application/json',
|
||
'X-API-Key': 'your-api-key'
|
||
},
|
||
body: JSON.stringify({
|
||
type: 'HEALTH',
|
||
data: {
|
||
user_id: '123e4567-e89b-12d3-a456-426614174000',
|
||
device_id: '987fcdeb-51a2-43d7-8f9e-123456789abc',
|
||
H: 72,
|
||
O: 98,
|
||
T: 36.5
|
||
}
|
||
})
|
||
});
|
||
```
|
||
|
||
## 🛡️ 数据安全
|
||
|
||
- ✅ 所有现有数据保持不变
|
||
- ✅ 与现有 `ak_*` 表系统完全兼容
|
||
- ✅ 外键约束确保数据完整性
|
||
- ✅ RLS(行级安全)策略已正确配置
|
||
|
||
## 🔍 监控和维护
|
||
|
||
推送消息服务现在使用独立的 `ps_` 前缀表,可以通过以下方式监控:
|
||
|
||
- 查看 `ps_push_messages` 表了解消息接收情况
|
||
- 查看 `ps_message_processing_logs` 表了解处理日志
|
||
- 查看 `ps_system_stats` 表了解系统统计
|
||
- 使用 `ps_recent_message_stats` 视图获取实时统计
|
||
|
||
## ✅ 完成状态
|
||
|
||
- [x] 数据库表结构更新
|
||
- [x] 应用代码适配
|
||
- [x] 文档更新
|
||
- [x] 配置检查工具更新
|
||
- [x] 视图和函数更新
|
||
- [x] 索引和约束更新
|
||
|
||
服务现在已准备就绪,可以在您的 Supabase 环境中部署和使用!
|