Features: - Backend statistics API (cloud-native Prisma aggregation) - Results page with hybrid solution (AI consensus + human final decision) - Excel export (frontend generation, zero disk write, cloud-native) - PRISMA-style exclusion reason analysis with bar chart - Batch selection and export (3 export methods) - Fixed logic contradiction (inclusion does not show exclusion reason) - Optimized table width (870px, no horizontal scroll) Components: - Backend: screeningController.ts - add getProjectStatistics API - Frontend: ScreeningResults.tsx - complete results page (hybrid solution) - Frontend: excelExport.ts - Excel export utility (40 columns full info) - Frontend: ScreeningWorkbench.tsx - add navigation button - Utils: get-test-projects.mjs - quick test tool Architecture: - Cloud-native: backend aggregation reduces network transfer - Cloud-native: frontend Excel generation (zero file persistence) - Reuse platform: global prisma instance, logger - Performance: statistics API < 500ms, Excel export < 3s (1000 records) Documentation: - Update module status guide (add Week 4 features) - Update task breakdown (mark Week 4 completed) - Update API design spec (add statistics API) - Update database design (add field usage notes) - Create Week 4 development plan - Create Week 4 completion report - Create technical debt list Test: - End-to-end flow test passed - All features verified - Performance test passed - Cloud-native compliance verified Ref: Week 4 Development Plan Scope: ASL Module MVP - Title Abstract Screening Results Cloud-Native: Backend aggregation + Frontend Excel generation
138 lines
4.3 KiB
PL/PgSQL
138 lines
4.3 KiB
PL/PgSQL
-- ========================================
|
||
-- 001-create-all-10-schemas.sql
|
||
-- ========================================
|
||
-- 目的:创建10个Schema(3个详细 + 7个空)
|
||
-- 执行时间:约5秒
|
||
-- 作者:AI助手
|
||
-- 日期:2025-11-09
|
||
-- ========================================
|
||
|
||
-- 提示:请在PostgreSQL数据库中执行此脚本
|
||
-- 执行前确认:DATABASE_URL指向正确的数据库
|
||
|
||
BEGIN;
|
||
|
||
-- ========================================
|
||
-- 第一部分:创建3个详细Schema(Week 1迁移)
|
||
-- ========================================
|
||
|
||
-- 1. Platform Schema - 平台基础层
|
||
CREATE SCHEMA IF NOT EXISTS platform_schema;
|
||
COMMENT ON SCHEMA platform_schema IS '平台基础层 - 用户管理、权限控制、认证服务';
|
||
|
||
-- 2. AIA Schema - AI智能问答
|
||
CREATE SCHEMA IF NOT EXISTS aia_schema;
|
||
COMMENT ON SCHEMA aia_schema IS 'AI智能问答模块 - 对话管理、项目管理、通用对话';
|
||
|
||
-- 3. PKB Schema - 个人知识库
|
||
CREATE SCHEMA IF NOT EXISTS pkb_schema;
|
||
COMMENT ON SCHEMA pkb_schema IS '个人知识库模块 - 知识库管理、文档管理、批处理任务';
|
||
|
||
-- ========================================
|
||
-- 第二部分:创建7个空Schema(命名空间预留)
|
||
-- ========================================
|
||
|
||
-- 4. ASL Schema - AI智能文献(Week 3再设计表)
|
||
CREATE SCHEMA IF NOT EXISTS asl_schema;
|
||
COMMENT ON SCHEMA asl_schema IS 'AI智能文献筛选模块 - Week 3开发前再设计表结构';
|
||
|
||
-- 5. Common Schema - 通用能力层(需要时再创建表)
|
||
CREATE SCHEMA IF NOT EXISTS common_schema;
|
||
COMMENT ON SCHEMA common_schema IS '通用能力层 - LLM使用记录、Feature Flags、配额管理等';
|
||
|
||
-- 6. DC Schema - 数据清洗模块
|
||
CREATE SCHEMA IF NOT EXISTS dc_schema;
|
||
COMMENT ON SCHEMA dc_schema IS '数据清洗工具模块';
|
||
|
||
-- 7. RVW Schema - 审稿系统
|
||
CREATE SCHEMA IF NOT EXISTS rvw_schema;
|
||
COMMENT ON SCHEMA rvw_schema IS '稿件审查系统模块 - 包含review_tasks表';
|
||
|
||
-- 8. ADMIN Schema - 运营管理
|
||
CREATE SCHEMA IF NOT EXISTS admin_schema;
|
||
COMMENT ON SCHEMA admin_schema IS '运营管理后台模块 - 包含admin_logs表';
|
||
|
||
-- 9. SSA Schema - 智能统计分析
|
||
CREATE SCHEMA IF NOT EXISTS ssa_schema;
|
||
COMMENT ON SCHEMA ssa_schema IS '智能统计分析模块';
|
||
|
||
-- 10. ST Schema - 统计分析工具
|
||
CREATE SCHEMA IF NOT EXISTS st_schema;
|
||
COMMENT ON SCHEMA st_schema IS '统计分析工具集模块';
|
||
|
||
-- ========================================
|
||
-- 验证:查询所有Schema
|
||
-- ========================================
|
||
|
||
DO $$
|
||
DECLARE
|
||
schema_count INTEGER;
|
||
BEGIN
|
||
SELECT COUNT(*) INTO schema_count
|
||
FROM information_schema.schemata
|
||
WHERE schema_name IN (
|
||
'platform_schema', 'aia_schema', 'pkb_schema',
|
||
'asl_schema', 'common_schema', 'dc_schema',
|
||
'rvw_schema', 'admin_schema', 'ssa_schema', 'st_schema'
|
||
);
|
||
|
||
RAISE NOTICE '已创建 % 个Schema', schema_count;
|
||
|
||
IF schema_count < 10 THEN
|
||
RAISE WARNING '警告:期望创建10个Schema,实际只创建了 % 个', schema_count;
|
||
ELSE
|
||
RAISE NOTICE '✅ 成功:10个Schema全部创建完成!';
|
||
END IF;
|
||
END $$;
|
||
|
||
COMMIT;
|
||
|
||
-- ========================================
|
||
-- 执行后验证SQL(可单独运行)
|
||
-- ========================================
|
||
|
||
-- 查看所有新建的Schema
|
||
SELECT
|
||
nspname AS schema_name,
|
||
pg_catalog.obj_description(oid, 'pg_namespace') AS description
|
||
FROM pg_namespace
|
||
WHERE nspname IN (
|
||
'platform_schema', 'aia_schema', 'pkb_schema',
|
||
'asl_schema', 'common_schema', 'dc_schema',
|
||
'rvw_schema', 'admin_schema', 'ssa_schema', 'st_schema'
|
||
)
|
||
ORDER BY nspname;
|
||
|
||
-- ========================================
|
||
-- 预期输出:
|
||
-- ========================================
|
||
-- schema_name | description
|
||
-- -----------------|----------------------------------
|
||
-- admin_schema | 运营管理后台模块 - 包含admin_logs表
|
||
-- aia_schema | AI智能问答模块 - 对话管理...
|
||
-- asl_schema | AI智能文献筛选模块...
|
||
-- common_schema | 通用能力层...
|
||
-- dc_schema | 数据清洗工具模块
|
||
-- pkb_schema | 个人知识库模块...
|
||
-- platform_schema | 平台基础层...
|
||
-- rvw_schema | 稿件审查系统模块...
|
||
-- ssa_schema | 智能统计分析模块
|
||
-- st_schema | 统计分析工具集模块
|
||
-- ========================================
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|