# Flower Database Access Skill - 使用总结

## 已创建的文件

```
.skills/
├── README.md                           # Skills目录说明
├── flower-db-access/
│   ├── SKILL.md                       # 主要skill文档（11KB）
│   ├── README.md                      # 使用说明
│   └── examples.sh                    # 可执行示例脚本
└── .gitkeep                           # Git占位文件
```

## Skill功能

### ✅ 允许的操作
- 读取所有业务表数据
- 执行SELECT查询
- 数据分析和统计
- 生成报告

### ❌ 禁止的操作
- 所有写操作（INSERT, UPDATE, DELETE等）
- 访问认证相关表（auth_user, auth_permission等）

## 快速测试

```bash
# 运行示例脚本
/home/f/coding/flower/.skills/flower-db-access/examples.sh

# 或手动测试连接
PGPASSWORD=postgres psql -h 127.0.0.1 -p 5432 -U postgres -d flower -c "\dt"
```

## 数据库架构概览

### 主要模块
1. **basic_info** - 基础信息（客户、供应商、产品、仓库）
2. **business** - 业务单据（采购、销售、退货、收付款）
3. **stock** - 库存管理（变动、冻结、汇总）
4. **printing** - 生产管理（开版、印染）
5. **stateflow** - 工作流引擎

### 多租户架构
⚠️ **重要**: 所有业务表都有 `merchant_id` 字段，查询时应该包含这个条件。

## 测试结果

✅ 数据库连接正常
✅ 所有示例查询成功执行
✅ 查询结果正确返回

### 查询示例输出
- ✅ 商户列表：4个商户
- ✅ 销售订单：最近4条订单
- ✅ 库存状态：4个库存记录
- ✅ 开版订单：最近10条记录
- ✅ 表大小统计：显示最大的表（basic_info_product: 674 MB）

## 下一步

### 对于开发者
1. 查看 `SKILL.md` 了解完整的查询示例
2. 运行 `examples.sh` 查看实际输出
3. 根据需要修改查询示例

### 对于AI Agent
1. 使用 `PGPASSWORD=postgres psql` 命令连接数据库
2. 只执行SELECT查询
3. 避免访问auth_*表
4. 查询时包含merchant_id条件

## 安全提示

1. **只读访问**: 此skill严格限制为只读
2. **认证保护**: auth_*表完全禁止访问
3. **多租户隔离**: 查询时考虑merchant_id
4. **性能优化**: 使用LIMIT和WHERE条件

## 故障排查

如遇问题，请检查：
1. PostgreSQL服务是否运行：`sudo systemctl status postgresql`
2. 数据库连接参数是否正确
3. 查询是否包含禁止的表或操作

---

**创建时间**: 2026-03-05
**数据库**: flower (PostgreSQL)
**状态**: ✅ 已测试并正常工作
