chore(migration): Cursor → Claude Code 反向迁移 + 单轨化(v2)

- 删除 5 个 AGENTS.md(根 + 4 子模块)与 .cursor/、.cursorignore,全部已备份
- 在 CLAUDE.md 末尾追加 5 节迁移必需内容(CLI/Shell 中文与编码、Claude Code 资产入口、Hook 与权限、不破坏原则、历史追溯),保留用户选定的 226 行项目规则全集
- 用户级 12 个 skills 从 ~/.cursor/skills/ 剥包装回迁到 ~/.claude/skills/(neozqyy-cursor-migration → neozqyy-claude-code-migration)
- docs/ai-env-history/ 顶层 10 文件入仓(含 conversation_index.csv、file_impact_index.csv,已脱敏);sessions/ 原文继续本地保留
- 新增 tools/claude-code/migrate_ai_environment.py(--check 14/14 通过)
- 新增 docs/claude_code_migration.md 与 docs/audit/changes/2026-05-02__claude_code_migration.md
- .gitignore 调整:开放 2 个 CSV 索引入仓,保留 sessions/ 与 claude-history/ 排除
- 不混入 124 个业务变更(AI 模块重构、runtime_context、sandbox 等保持 unstaged)
- 备份位置:~/.claude/backups/pre-claude-code-migration-2026-05-02/

第二轮迁移(第一轮 commit 6facb2d 已被 git reset 回滚;本轮策略为追加而非重写 CLAUDE.md)
This commit is contained in:
Neo
2026-05-03 21:08:13 +08:00
parent 81e41730ec
commit f2e0de8fab
36 changed files with 15227 additions and 1041 deletions

View File

@@ -1,60 +0,0 @@
# AGENTS.md - Database (DDL / Migrations / Seeds)
进入本目录时自动加载。
## Schema 变更规则
修改任何影响 PostgreSQL schema 的内容(迁移脚本/DDL/表定义)时,必须同步更新 `docs/database/`
1. **变更说明**:新增/修改/删除的表、字段、约束、索引
2. **兼容性**:对 ETL、后端 API、小程序字段映射的影响
3. **回滚策略**如何撤销DDL 回滚 / 数据回填)
4. **验证步骤**:至少 3 条校验 SQL
## RLS 视图双 Schema 规则
新建 DWS/DWD 表的 RLS 视图必须同时在原 schema`dws`)和 `app` schema 创建:
```sql
-- 1. 原 schema
CREATE VIEW dws.v_xxx AS SELECT ... WHERE site_id = current_setting('app.current_site_id')::int;
-- 2. app schema后端通过此路径访问
CREATE VIEW app.v_xxx AS SELECT ... WHERE site_id = current_setting('app.current_site_id')::int;
```
回滚需逆序 DROP 两个 schema 的视图。只在原 schema 创建会导致后端查询失败。
## 目录结构
```text
db/
├── etl_feiqiu/
│ ├── schemas/ # 权威 DDL — 六层完整定义meta/ods/dwd/core/dws/app
│ ├── migrations/ # 未来增量迁移v1 已全部归档)
│ ├── ods/ # ODS 补充脚本
│ └── scripts/ # 测试数据库脚本
├── zqyy_app/
│ ├── schemas/ # 权威 DDL — 三层完整定义public/auth/biz
│ ├── migrations/ # 未来增量迁移v1 已全部归档)
│ └── scripts/ # 测试数据库脚本
├── fdw/ # FDW 跨库只读映射(正向 + 反向 + 测试环境)
└── _archived/ # 归档v1 迁移 39 个、旧基线)
```
v1 阶段种子数据已合并进 `schemas/` 对应 DDL 文件末尾,不再单独维护。
## DDL 刷新
修改 schema 后,重新生成完整 DDL
```bash
PYTHONUTF8=1 python tools/db/gen_consolidated_ddl.py
```
输出到 `docs/database/ddl/`,然后复制到 `db/*/schemas/` 保持同步。
## 测试规范
- 数据库操作使用测试库(`TEST_DB_DSN` / `TEST_APP_DB_DSN`),禁止连正式库
- 迁移脚本在测试库执行后需验证表结构