forked from wangziqi/gongxue-base
feat: add public bank sync failure ops
This commit is contained in:
@@ -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 形态、关系和敏感字段问题:
|
||||
|
||||
Reference in New Issue
Block a user