# Schema Version

当前版本：`fact-ledger-v1`

## 迁移原则

1. **稳定 ID 不变**：`contract_id`、`item_id`、`movement_id`、`party_id` 是迁移主键，未来从 CSV 迁移到 SQLite、PostgreSQL、ERP、Airtable 或其他系统时都不重建。
2. **字段只增不随意改名**：新增字段可以追加；已有字段改名必须在本文件记录映射关系。
3. **日期统一 ISO 格式**：使用 `YYYY-MM-DD` 或带时区的 `YYYY-MM-DDTHH:MM:SS+08:00`。
4. **数量保留原单位**：`quantity` 与 `unit` 分开记录，避免迁移时单位含义丢失。
5. **证据文件用相对路径**：台账里的 `source_path` 优先写相对项目路径，便于整包迁移。
6. **敏感信息不进索引**：迁移导出时可生成脱敏版本，不依赖原始合同全文。
7. **每张表保留版本字段**：`schema_version` 用于未来自动识别字段版本。

## v1 表

- `registers/contracts.csv`
- `registers/items.csv`
- `registers/parties.csv`
- `registers/goods_movements.csv`
- `registers/intake_queue.csv`

## 未来迁移目标

优先迁移顺序：

1. CSV → SQLite：适合本地轻量查询和机器人自动录入。
2. SQLite → PostgreSQL：适合多机器人、多设备、权限控制和长期维护。
3. PostgreSQL → RAG/报表/业务系统：只从数据库导出派生索引，不反向以 RAG 当权威数据源。
