Files
AIclinicalresearch/docs/01-平台基础层/07-数据库/01-Prisma迁移历史与变更日志.md
HaHafeng 0b29fe88b5 feat(iit): QC deep fix + V3.1 architecture plan + project member management
QC System Deep Fix:
- HardRuleEngine: add null tolerance + field availability pre-check (skipped status)
- SkillRunner: baseline data merge for follow-up events + field availability check
- QcReportService: record-level pass rate calculation + accurate LLM XML report
- iitBatchController: legacy log cleanup (eventId=null) + upsert RecordSummary
- seed-iit-qc-rules: null/empty string tolerance + applicableEvents config

V3.1 Architecture Design (docs only, no code changes):
- QC engine V3.1 plan: 5-level data structure (CDISC ODM) + D1-D7 dimensions
- Three-batch implementation strategy (A: foundation, B: bubbling, C: new engines)
- Architecture team review: 4 whitepapers reviewed + feedback doc + 4 critical suggestions
- CRA Agent strategy roadmap + CRA 4-tool explanation doc for clinical experts

Project Member Management:
- Cross-tenant member search and assignment (remove tenant restriction)
- IIT project detail page enhancement with tabbed layout (KB + members)
- IitProjectContext for business-side project selection
- System-KB route access control adjustment for project operators

Frontend:
- AdminLayout sidebar menu restructure
- IitLayout with project context provider
- IitMemberManagePage new component
- Business-side pages adapt to project context

Prisma:
- 2 new migrations (user-project RBAC + is_demo flag)
- Schema updates for project member management

Made-with: Cursor
2026-03-01 15:27:05 +08:00

6.6 KiB
Raw Permalink Blame History

Prisma 迁移历史与变更日志

版本: v1.0
更新日期: 2026-02-27
维护说明: 每次新增迁移后,在此文档追加记录


1. 迁移时间线总览

当前共 15 个已应用迁移,覆盖 2025-10 至 2026-02 的演进过程。

2025-10  ████ init + conversations + batch + review_tasks
2025-12  █    column_mapping
2026-01  █    system_knowledge_base
2026-02  ████████ IIT agent + CRA QC + SSA module + DeepResearch V2
                  + extraction template + db push drift patch
                  + eQuery/critical events + type alignment

2. 完整迁移清单

#1 — 20251010075003_init

属性
应用时间 2026-01-26 08:17:06
影响 Schema public, platform_schema, aia_schema, pkb_schema, dc_schema, iit_schema, asl_schema, ekb_schema, agent_schema
核心内容 系统初始化,创建全部 schema + 核心表users, tenants, conversations, knowledge_bases, documents, screening_projects, literatures, agent_definitions 等)
说明 全量初始化迁移,包含 pgvector 和 pg_bigm 扩展安装

#2 — 20251010122727_add_conversation_metadata_deleted_at

属性
应用时间 2026-01-26 08:17:14
影响 Schema iit_schema
核心内容 conversation_history 表增加 metadata(JSONB) 和 deleted_at(TIMESTAMP) 列

#3 — 20251012124747_add_batch_processing_module

属性
应用时间 2026-01-26 08:17:16
影响 Schema pkb_schema
核心内容 新增 batch_tasks 和 batch_results 表,支持批处理功能

#4 — 20251014120128_add_review_tasks

属性
应用时间 2026-01-26 08:17:17
影响 Schema rvw_schema
核心内容 创建 rvw_schema 和 review_tasks 表

#5 — 20251208_add_column_mapping

属性
应用时间 2026-01-26 08:17:19
影响 Schema dc_schema
核心内容 dc_extraction_tasks 表增加 column_mapping(JSONB) 列

#6 — 20260128_add_system_knowledge_base

属性
应用时间 2026-01-28 12:36:17
影响 Schema capability_schema
核心内容 创建 system_knowledge_bases 和 system_kb_documents 表,支持系统级知识库管理

#7 — 20260207112544_add_iit_manager_agent_tables

属性
应用时间 2026-02-07 03:26:29
影响 Schema iit_schema
核心内容 IIT Manager Agent V2.x 表结构record_summary, weekly_reports, project_memory, agent_trace, skills, pii_audit_log, qc_project_stats 等

#8 — 20260208134925_add_cra_qc_engine_support

属性
应用时间 2026-02-08 05:49:47
影响 Schema iit_schema
核心内容 CRA 质控引擎支持qc_logs, qc_reports, form_templates 表 + projects 表增加质控相关列

#9 — 20260219_add_ssa_module

属性
应用时间 2026-02-19 06:21:29
影响 Schema ssa_schema
核心内容 创建 ssa_schema 及 9 张表ssa_sessions, ssa_messages, ssa_execution_logs, ssa_tools_library, ssa_r_code_library, ssa_decision_table, ssa_guardrail_config, ssa_param_mapping, ssa_interpretation_templates

#10 — 20260223_add_deep_research_v2_fields

属性
应用时间 2026-02-23 01:44:19
影响 Schema asl_schema
核心内容 research_tasks 表增加 6 列target_sources, confirmed_requirement, ai_intent_summary, execution_logs, synthesis_report, result_list
⚠️ 注意 此迁移依赖 research_tasks 表(由 prisma db push 创建Shadow DB 重放会失败

#11 — 20260225_add_extraction_template_engine

属性
应用时间 2026-02-25 00:07:57
影响 Schema asl_schema
核心内容 全文提取模板引擎extraction_templates, extraction_project_templates, extraction_tasks, extraction_results 4 张表

#12 — 20260227_patch_db_push_drift

属性
应用时间 2026-02-27 01:11:55
影响 Schema iit_schema, ssa_schema, rvw_schema
核心内容 补丁迁移,覆盖 prisma db push 创建的结构field_metadata, qc_logs, qc_reports, form_templatesiit, ssa_workflows, ssa_workflow_stepsssa, review_tasks 新增 8 列 + 1 索引rvw
性质 使用 CREATE TABLE IF NOT EXISTSADD COLUMN IF NOT EXISTS 保证幂等

#13 — 20260226_add_equery_critical_events_cron

属性
应用时间 2026-02-27 01:12:08
影响 Schema iit_schema
核心内容 eQuery 电子质疑表 + critical_events 重大事件表 + projects 增加 cron_enabled/cron_expression 列
特殊类型 id 使用 PostgreSQL 原生 UUID时间戳使用 TIMESTAMPTZ

#14 — 20260227_align_schema_with_db_types

属性
应用时间 2026-02-27 05:44:11
影响 Schema ssa_schema
核心内容 对齐 Schema 类型注解与数据库实际类型ssa_workflows/ssa_workflow_steps 的 VARCHAR 长度和 TIMESTAMP 精度 + 清理 2 个重复外键
性质 Schema 精度对齐SQL 对实际数据库为幂等操作

#15 — 20260228_add_iit_phase2_user_project_rbac

属性
应用时间 2026-02-28 12:17:00
影响 Schema iit_schema, platform_schema
核心内容 Phase 2 用户-项目关联 + RBACuser_mappings 增加 user_idFK → platform_schema.usersprojects 增加 tenant_idFK → platform_schema.tenantsUserRole 枚举增加 IIT_OPERATOR
创建方式 手动创建 + prisma migrate resolve --applied(降级方案)

3. 迁移创建方式说明

方式 适用场景 涉及迁移
prisma migrate dev 标准开发流程 #1 ~ #9
prisma migrate dev --create-only 仅生成不执行
手动创建 + prisma migrate resolve --applied Shadow DB 无法重放时 #12, #13, #14, #15
prisma db push (⚠️ 非标准) 快速原型,不产生迁移记录 造成了 drift patch 的必要性

4. 维护规则

新增迁移时,在本文档追加:

### #N — YYYYMMDD_migration_name

| 属性 | 值 |
|------|-----|
| 应用时间 | YYYY-MM-DD HH:MM:SS |
| 影响 Schema | xxx_schema |
| 核心内容 | 简述变更 |

检查迁移状态:

# 查看本地已应用迁移
docker exec ai-clinical-postgres psql -U postgres -d ai_clinical_research \
  -c "SELECT migration_name, finished_at FROM _prisma_migrations ORDER BY started_at;"

# 查看 RDS 已应用迁移
npx prisma migrate status