Files
xiaoqu_mcp_service/xiaoqu-agent-service/sql
my_local_kimi_dev2 4e27f8137d feat(mcp): 新增清机记录查询工具 hardware.cleanlog.list.query
对齐老系统 /hardwareCleanLog/listByPage,修正 5 处老接口坑(设计文档
doc/hardware-cleanlog-mcp-design.md §5):agentId 传了仍叠加行级 ACL、
富化/图片按页批量消除 N+1、时间过滤明确落 modify_time、status=1 硬过滤
口径保持、type!=0 时 beforeCleanPics 恒空保持。

- 实体/Mapper 从 publicbeanandmap 逐字段复制(25+13 列全核对)
- PermissionService 新增 applyHardwareCleanLogRowFilter(镜像
  applyHardwareRowFilter 同一 getByIsAgent 变体)
- 分页 selectCount+LIMIT 物理分页,rows 上限 100 截断+notice
- 图片 type=0 行内 picurl,type!=0 按页 IN 批量查 hardware_clean_pic
  按 order_no 拼 OSS URL
- 入参校验抛 ToolCallException(INVALID_ARGUMENT)
- seed-dev.sql 补 hardware/ops-query scope 绑定;reference 文档登记 #45

测试:新增 6 个单测,全量 482 tests 全绿
2026-11-04 18:04:02 +08:00
..

数据库迁移规范

自有库结构由 Flyway 管理,运行时只扫描 src/main/resources/db/migration。

  1. 已合并的 V<N>__description.sql 永不修改、删除或改名;Flyway 与测试都会校验历史 checksum。
  2. 每次结构或数据变更新增下一个连续版本,并同步新增 sql/rollback/V<N>__description.down.sql。
  3. Migration 只操作当前 svc schema,禁止包含 CREATE DATABASE、USE 和环境专属数据。
  4. DDL 优先向后兼容;删除字段或表必须先经过废弃版本。大表变更必须给出锁表时间与分批方案。
  5. seed-dev.sql 仅用于开发数据,不进入 Flyway。数据库首次创建使用 bootstrap/create-database.sql。
  6. 合并前必须运行 ./mvnw clean package;部署启动时 Flyway 会再次 validate 并按版本迁移,失败则应用不会启动。

baseline-on-migrate 默认关闭,避免连错非空库时被静默接管。已有 V1 数据库首次接入时,显式设置 SVC_FLYWAY_BASELINE_ON_MIGRATE=true:Flyway 记录 V1 基线并只执行 V2 以后版本;确认生成 flyway_schema_history 后立即恢复为 false。空数据库无需开启,会正常执行全部版本。