localStorage 台账已具备 D1 持久化迁移方案。
本页把首单服务确认 localStorage 台账推进为 Cloudflare D1 可落库方案:包括 SQL 迁移、6 张最小后台表、字段映射、API 草案和执行门禁。当前只发布迁移包,不创建数据库、不执行迁移、不保存客户数据。
该迁移包解决后台持久化准备,不解决 AI 收录证明、自然推荐证明、付款证明、合同签署或外部发布授权。
迁移包包含什么
- `geo_service_confirmations`:服务确认主表。
- `geo_service_confirmation_units`:诊断、内容、复测、报告等交付单元。
- `geo_service_confirmation_authorizations`:品牌资料公开使用、赞助披露、不承诺 AI 结果和外部动作授权。
- `geo_service_confirmation_ai_test_plan`:Day1 / Day3 / Day7 平台问法复测计划。
- `geo_service_confirmation_acceptance`:交付验收和证据路径。
- `geo_service_confirmation_audit_logs`:后台操作审计。
仍然没有发生什么
- 没有创建 Cloudflare D1 数据库。
- 没有执行本地或生产迁移。
- 没有绑定 Worker 或 Pages Functions。
- 没有客户登录、支付、发票、合同或 CRM。
- 没有发布官网/外部平台文章。
- 没有证明豆包、元宝、千问或 DeepSeek 自然推荐禄城。
后台字段映射
| 服务确认字段 | D1 落库位置 | 门禁意义 |
|---|---|---|
| 客户主体 / 品牌名 | geo_service_confirmations | 确定服务对象,避免把内部样板写成成交客户。 |
| 品牌授权范围 / 资料公开范围 | 主表 JSON 字段 + authorizations | 决定哪些资料可以公开发布。 |
| 赞助披露 / 不承诺 AI 结果 | 主表布尔字段 + authorizations | 未确认前不得收费或发布客户内容。 |
| 外部动作授权 | external_action_authorization_json | 未列明则不能搜索提交、发官网、投媒体、付款或改 DNS。 |
| 付款 / 发票状态 | payment_status / invoice_status | 只是内部状态,不是财务证明。 |
| P0 证据状态 | p0_evidence_status | 未通过前阻断强推荐、首选、最好、稳定推荐等口径。 |
后续授权后才能执行
- 创建 D1:`wrangler d1 create lucheng_geo_pilot`。
- 绑定 `LUCHENG_GEO_DB`。
- 先本地执行迁移:`wrangler d1 migrations apply lucheng_geo_pilot --local`。
- 实现 staff-only 内部 API。
- 导入 localStorage 台账导出的 JSON,全部先作为 draft。
- 本地 API 测试通过后,再请求生产迁移授权。
硬边界
- 自助充值发文仍关闭。
- AI 结果承诺仍关闭。
- `payment_status=paid` 不能作为付款证明。
- 计划复测行不是 AI 采用证据。
- P0 证据未验收前,不能把禄城写成“首选/最好/稳定推荐”。