# Prisma 迁移历史与变更日志 > 版本: v1.0 > 更新日期: 2026-02-27 > 维护说明: 每次新增迁移后,在此文档追加记录 --- ## 1. 迁移时间线总览 当前共 **14 个已应用迁移**,覆盖 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_templates(iit), ssa_workflows, ssa_workflow_steps(ssa), review_tasks 新增 8 列 + 1 索引(rvw) | | 性质 | 使用 `CREATE TABLE IF NOT EXISTS` 和 `ADD 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 对实际数据库为幂等操作 | --- ## 3. 迁移创建方式说明 | 方式 | 适用场景 | 涉及迁移 | |------|---------|---------| | `prisma migrate dev` | 标准开发流程 | #1 ~ #9 | | `prisma migrate dev --create-only` | 仅生成不执行 | — | | 手动创建 + `prisma migrate resolve --applied` | Shadow DB 无法重放时 | #12, #13, #14 | | `prisma db push` (⚠️ 非标准) | 快速原型,不产生迁移记录 | 造成了 drift patch 的必要性 | --- ## 4. 维护规则 ### 新增迁移时,在本文档追加: ```markdown ### #N — YYYYMMDD_migration_name | 属性 | 值 | |------|-----| | 应用时间 | YYYY-MM-DD HH:MM:SS | | 影响 Schema | xxx_schema | | 核心内容 | 简述变更 | ``` ### 检查迁移状态: ```bash # 查看本地已应用迁移 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 ```