数据库文档编写,开发规范文档,数据库接入
This commit is contained in:
91
docs/sql/10_quality_checks.md
Normal file
91
docs/sql/10_quality_checks.md
Normal file
@@ -0,0 +1,91 @@
|
||||
# 10 质量自检与验收(表/字段/索引/扩展/函数)
|
||||
|
||||
本节汇总仓库中已有的“数据库状态检查/验证脚本”,并给出在交付与升级时推荐的自检流程。
|
||||
|
||||
---
|
||||
|
||||
## 1. 现有自检脚本清单
|
||||
|
||||
在 `mall_sql/tests/` 目录下可见:
|
||||
|
||||
- `mall_database_check.sql`
|
||||
- 检查 `ak_users` 是否缺少商城字段
|
||||
- 检查商城核心表是否存在
|
||||
- 检查关键索引是否存在
|
||||
- 检查必要扩展是否安装
|
||||
- 检查关键函数是否存在
|
||||
- 输出“推荐执行方案”(fields_only / alter_upgrade / migration / seo_security 等)
|
||||
- 可生成具体 `ALTER TABLE` 建议
|
||||
|
||||
- `validation_test.sql`(存在即表示有更细校验,建议结合实际内容补充到本文档)
|
||||
- `mock_data_insert.sql` / `verify_mock_data_fix.sql`
|
||||
- 用于联调/验证查询与页面
|
||||
- `create_supabase_auth_users.sql`
|
||||
- 可能用于创建 Supabase auth 用户或测试映射
|
||||
|
||||
---
|
||||
|
||||
## 2. 推荐自检流程(交付/升级)
|
||||
|
||||
### 2.1 升级前(评估现状)
|
||||
|
||||
1. 执行 `mall_database_check.sql`
|
||||
2. 根据输出信息确认:
|
||||
- `ak_users` 缺哪些字段
|
||||
- `ml_` 核心表缺哪些
|
||||
- 关键索引是否齐全
|
||||
- 扩展是否安装
|
||||
- 函数是否缺失
|
||||
|
||||
### 2.2 执行升级/迁移
|
||||
|
||||
根据 `mall_database_check.sql` 给出的推荐:
|
||||
|
||||
- 缺字段多 + 缺表:`mall_alter_upgrade.sql`
|
||||
- 只缺字段:`mall_fields_only_upgrade.sql`
|
||||
- 只缺表:`mall_migration.sql`
|
||||
- SEO/RLS 缺失:`mall_seo_security.sql`
|
||||
|
||||
### 2.3 升级后(验证验收)
|
||||
|
||||
1. 再次执行 `mall_database_check.sql`,确认缺失项归零
|
||||
2.(测试环境)插入 mock 数据(若有脚本)
|
||||
3. 跑核心链路的“最小验收用例”(见下)
|
||||
|
||||
---
|
||||
|
||||
## 3. 最小验收用例(建议团队固化)
|
||||
|
||||
### 3.1 用户侧
|
||||
|
||||
- 能创建/更新 `ml_user_profiles`
|
||||
- 能新增地址并设置默认,确认默认地址唯一
|
||||
- 能加购、更新购物车数量
|
||||
|
||||
### 3.2 商品侧
|
||||
|
||||
- 能创建商品 + SKU
|
||||
- 更新 SKU 库存,确认 `ml_products.total_stock/available_stock` 自动刷新
|
||||
- 商品上架后,普通用户侧可查询到(RLS/策略允许)
|
||||
|
||||
### 3.3 订单侧
|
||||
|
||||
- 能创建订单 + 明细
|
||||
- 更新订单状态(1->2->3->4),确认时间戳与销量累计逻辑(若使用 complete 脚本触发器)
|
||||
|
||||
### 3.4 营销/优惠券
|
||||
|
||||
- 创建券模板
|
||||
- 领券生成券码
|
||||
- 核销券并绑定订单
|
||||
|
||||
---
|
||||
|
||||
## 4. 注意事项
|
||||
|
||||
- 生产执行前务必在测试环境验证脚本兼容性与执行顺序。
|
||||
- 若启用 RLS,检查脚本/运维脚本需要使用 service role 或具有相应权限的连接方式,否则可能误判数据可见性。
|
||||
- 如新增状态枚举值,需同步更新:
|
||||
- `CHECK` 约束
|
||||
- 相关触发器/函数
|
||||
- 文档字典(`03_enums_status_dict.md`)
|
||||
Reference in New Issue
Block a user