c670b9e454
- 确定性领域引擎(分类/评分/分级/红线/费用/裁决)+LLM(通义千问)语言理解 - 6步评估向导、服务端草稿持久化(跨设备/编辑草稿保护) - 工作流(草稿→风控→管理层)、RBAC、报告导出、校准、客户/费率/红线/最低工资管理 - 专业图标体系替换全部emoji、看板美化 - 生产化:API_BASE可配置(同源反代)、auth密钥惰性读取修复RBAC - 444单测+204前端测试+51 e2e
49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
/* eslint-disable */
|
|
/**
|
|
* 初始 schema:评估记录 / 工作流状态 / 操作记录 / 盈利分析。
|
|
* 使用 IF NOT EXISTS 以与早期 initSchema 已建表的环境幂等兼容。
|
|
*/
|
|
|
|
exports.up = (pgm) => {
|
|
pgm.sql(`
|
|
CREATE TABLE IF NOT EXISTS assessments (
|
|
id TEXT PRIMARY KEY,
|
|
assessment JSONB NOT NULL,
|
|
report JSONB,
|
|
saved_at TIMESTAMPTZ NOT NULL
|
|
);
|
|
CREATE INDEX IF NOT EXISTS idx_assessments_saved_at ON assessments(saved_at DESC);
|
|
|
|
CREATE TABLE IF NOT EXISTS workflow_status (
|
|
assessment_id TEXT PRIMARY KEY,
|
|
status TEXT NOT NULL,
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS audit_logs (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
assessment_id TEXT NOT NULL,
|
|
role TEXT NOT NULL,
|
|
username TEXT NOT NULL,
|
|
action TEXT NOT NULL,
|
|
comment TEXT,
|
|
ts TIMESTAMPTZ NOT NULL
|
|
);
|
|
CREATE INDEX IF NOT EXISTS idx_audit_assessment ON audit_logs(assessment_id);
|
|
|
|
CREATE TABLE IF NOT EXISTS profitability (
|
|
assessment_id TEXT PRIMARY KEY,
|
|
result JSONB NOT NULL
|
|
);
|
|
`);
|
|
};
|
|
|
|
exports.down = (pgm) => {
|
|
pgm.sql(`
|
|
DROP TABLE IF EXISTS profitability;
|
|
DROP TABLE IF EXISTS audit_logs;
|
|
DROP TABLE IF EXISTS workflow_status;
|
|
DROP TABLE IF EXISTS assessments;
|
|
`);
|
|
};
|