Files
YG_FT/docs/20260812/database-migration.md

39 lines
1.6 KiB
Markdown
Raw Normal View History

# 数据库迁移说明
## 当前迁移文件
- 新库初始化:`backend/app/db/sql/000_full_init.sql`
- 已有数据库增量迁移:`backend/app/db/sql/005_storage_progress_migration.sql`
- GPU 预留迁移:`backend/app/db/sql/006_gpu_reservations.sql`
- 平台闭环迁移:`backend/app/db/sql/007_platform_completion.sql`
- 离线部署使用:`docker/offline/src/backend/app/db/sql/000_full_init.sql`
## 执行方式
```bash
for migration in 005_storage_progress_migration.sql 006_gpu_reservations.sql 007_platform_completion.sql; do
psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f "backend/app/db/sql/$migration"
done
```
迁移前应完成数据库备份,并保存以下结构快照:
```sql
SELECT table_name, column_name, data_type
FROM information_schema.columns
WHERE table_schema = 'public'
ORDER BY table_name, ordinal_position;
```
## 本次迁移内容
- 为算力节点资源副本增加 `version_id``storage_object_id`,用于记录 MinIO 版本与本地缓存对应关系。
- 补齐 `storage_objects.metadata`、模型产物、数据集文件和数据转换任务的 MinIO 字段。
- 补齐评测任务软删除、创建者、租户和报告对象字段。
- 增加活动评测任务、资源副本和 MinIO 对象索引。
- 增加 GPU 预留表,统一训练、推理、评测的卡级占用约束。
- 增加模型导出创建者/租户/归档状态字段。
- 增加 MinIO 对象软删除清理、缓存版本校验和访问保护字段及清理任务表。
`000_full_init.sql` 已包含相同的幂等变更,新增数据库直接执行初始化脚本即可;已有数据库不要依赖容器重启自动完成迁移。