feat: add public bank sync failure ops

This commit is contained in:
Codex
2026-06-30 09:12:45 +08:00
parent d1cb341351
commit 959e612211
14 changed files with 484 additions and 44 deletions

View File

@@ -47,6 +47,17 @@ npm run supabase:reset
## 导出目录
当前工作区已有旧 PocketBase SQLite 数据参考:
```text
F:\project\参考\旧题库数据库文件
data.db
auxiliary.db
storage/
```
`data.db``auxiliary.db` 必须按只读源处理,不能直接在旧库上执行修复 SQL。后续应由本地转换脚本把 PocketBase SQLite 集合导出为规范 JSON再进入下面的 dry-run/import 管线;`storage/` 中的附件、题图、PDF、视频封面等资源要同步生成资源迁移清单最终进入 `content_assets` 和对象存储,不允许把旧本地路径或长效 URL 直接写给前端。
把 PocketBase 导出的集合 JSON 放到仓库根目录:
```text
@@ -82,6 +93,21 @@ $env:PB_EXPORT_DIR="F:\migration\pb_export_20260630"
npm run pb:import:dry-run
```
如果输入源仍是 SQLite而不是 JSON 目录,下一阶段需要先补 `scripts/import-pocketbase` 的 SQLite 只读导出命令,建议输出到仓库外或 `.gitignore` 覆盖的 `pb_export/`
```powershell
$env:PB_SQLITE_DIR="F:\project\参考\旧题库数据库文件"
$env:PB_EXPORT_DIR="F:\project\pb_export"
# 规划命令npm run pb:export:sqlite
```
导出脚本要求:
- 使用只读 SQLite 连接,禁止修改 `data.db``auxiliary.db``storage/`
- 每个 PocketBase collection 输出一个 JSON 文件,并保留旧 `id``created``updated`、relation 字段和文件字段。
-`users`、订单、支付、openid/unionid、手机号等敏感字段默认脱敏写 dry-run 报告;正式导入只在后端 mapper 中进入受控身份/订单/审计表。
- 资源文件字段只输出相对路径、hash、size、mime 和旧 collection/record/file 三元组,后续由对象存储迁移步骤转为 `content_assets`
## 阶段 1静态 Dry-Run
先运行不写数据库的静态报告。默认是 `development` profile适合开发环境快速发现 JSON 形态、关系和敏感字段问题: