新增发布校准数据库结构
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
CREATE TABLE IF NOT EXISTS rubric_versions (
|
||||
id TEXT PRIMARY KEY,
|
||||
version TEXT NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
dimensions TEXT NOT NULL,
|
||||
formula TEXT NOT NULL,
|
||||
is_active INTEGER NOT NULL,
|
||||
created_at TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS scoring_runs (
|
||||
id TEXT PRIMARY KEY,
|
||||
job_id TEXT NOT NULL,
|
||||
revision INTEGER NOT NULL,
|
||||
rubric_version_id TEXT NOT NULL,
|
||||
dimension_scores TEXT NOT NULL,
|
||||
composite_score REAL NOT NULL,
|
||||
rationale TEXT NOT NULL,
|
||||
created_at TEXT NOT NULL,
|
||||
FOREIGN KEY (job_id, revision)
|
||||
REFERENCES optimized_articles(job_id, revision) ON DELETE CASCADE,
|
||||
FOREIGN KEY (rubric_version_id) REFERENCES rubric_versions(id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS publication_records (
|
||||
id TEXT PRIMARY KEY,
|
||||
job_id TEXT NOT NULL,
|
||||
revision INTEGER NOT NULL,
|
||||
platform TEXT NOT NULL,
|
||||
url TEXT NOT NULL,
|
||||
published_at TEXT NOT NULL,
|
||||
status TEXT NOT NULL,
|
||||
notes TEXT NOT NULL,
|
||||
created_at TEXT NOT NULL,
|
||||
updated_at TEXT NOT NULL,
|
||||
FOREIGN KEY (job_id, revision)
|
||||
REFERENCES optimized_articles(job_id, revision) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS performance_snapshots (
|
||||
id TEXT PRIMARY KEY,
|
||||
publication_id TEXT NOT NULL,
|
||||
source TEXT NOT NULL,
|
||||
window_label TEXT NOT NULL,
|
||||
metrics TEXT NOT NULL,
|
||||
feedback_summary TEXT NOT NULL,
|
||||
raw_reference TEXT,
|
||||
snapshot_at TEXT NOT NULL,
|
||||
FOREIGN KEY (publication_id) REFERENCES publication_records(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS calibration_events (
|
||||
id TEXT PRIMARY KEY,
|
||||
publication_id TEXT NOT NULL,
|
||||
scoring_run_id TEXT NOT NULL,
|
||||
performance_snapshot_id TEXT NOT NULL,
|
||||
direction TEXT NOT NULL,
|
||||
observations TEXT NOT NULL,
|
||||
recommended_action TEXT NOT NULL,
|
||||
created_at TEXT NOT NULL,
|
||||
FOREIGN KEY (publication_id) REFERENCES publication_records(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (scoring_run_id) REFERENCES scoring_runs(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (performance_snapshot_id)
|
||||
REFERENCES performance_snapshots(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_scoring_runs_job_revision
|
||||
ON scoring_runs(job_id, revision);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_publication_records_job_revision
|
||||
ON publication_records(job_id, revision);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_performance_snapshots_publication
|
||||
ON performance_snapshots(publication_id);
|
||||
Reference in New Issue
Block a user