跳到主要内容
返回
← 返回AI Agent 工程:从零到企业应用

AI Agent 工程 · 10

10.3 实战:SQLite 持久化订单与售后工单

运行真实 SQLite 教学存储,验证授权、租户隔离、事务与幂等建单。

SQLite · 实践 · 幂等

操作与系统位置

运行 npm run test:agent-coursev4-enterprise-store.mjs 用 Node 内置 node:sqlite 在临时目录建立实际 SQLite 文件,创建 merchant、customer、order、ticket 和 idempotency key 表;脚本结束删除临时文件。它不连接 Shopify、ERP、支付系统,也没有真实客户数据。

查询订单(merchant + customer + order) → 校验 → 事务建工单 → 写幂等键

预期五项输出:授权查询、租户隔离、首次建单、重复请求复用结果、跨租户拒绝。接口重试不能制造两个售后工单;工具超时后重试应携带同一幂等键。

排查、验收与边界

idempotent ticket 失败,检查是否先查 key 再插入 key,且两步放在同一事务。若 access denied 失败,检查 SQL 是否遗漏 merchant 或 customer 条件。生产迁移到 PostgreSQL 时还需处理连接池、并发、备份和访问控制;本地 SQLite 测试不覆盖这些。

主动回忆:为什么“订单存在”与“调用者有权创建该订单的工单”是两条不同判断?

  • 必须记:幂等键保护重试,不授权动作。
  • 建议记:临时测试数据库不等于备份方案。
  • 不用记:示例工单 ID。

官方参考(核对日期:2026-09-21)