Files
silk/server-go/migrations/000008_governance_effectiveness.up.sql

67 lines
2.4 KiB
SQL

CREATE TABLE IF NOT EXISTS consultation_opinion_versions (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
consultation_id uuid NOT NULL,
version integer NOT NULL,
author_id uuid,
opinion text NOT NULL,
plan text NOT NULL,
reason text,
created_at timestamptz NOT NULL DEFAULT now()
);
CREATE INDEX IF NOT EXISTS idx_consultation_opinion_versions_consultation
ON consultation_opinion_versions (consultation_id, version);
CREATE TABLE IF NOT EXISTS rule_engine_results (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
rule_version varchar(64) NOT NULL,
disease varchar(64) NOT NULL,
level varchar(16),
reason text,
input_snapshot jsonb NOT NULL DEFAULT '{}'::jsonb,
missing jsonb NOT NULL DEFAULT '[]'::jsonb,
computed_at timestamptz NOT NULL,
created_at timestamptz NOT NULL DEFAULT now()
);
CREATE INDEX IF NOT EXISTS idx_rule_engine_results_rule_version
ON rule_engine_results (rule_version, computed_at);
CREATE TABLE IF NOT EXISTS knowledge_reviews (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
entity_type varchar(32) NOT NULL,
entity_id varchar(128) NOT NULL,
status varchar(16) NOT NULL,
reviewer_id uuid,
reviewed_at timestamptz,
note text,
created_at timestamptz NOT NULL DEFAULT now()
);
CREATE INDEX IF NOT EXISTS idx_knowledge_reviews_entity
ON knowledge_reviews (entity_type, entity_id);
ALTER TABLE consultations
ADD COLUMN IF NOT EXISTS assignee_id uuid,
ADD COLUMN IF NOT EXISTS assigned_at timestamptz,
ADD COLUMN IF NOT EXISTS accepted_at timestamptz,
ADD COLUMN IF NOT EXISTS needs_info_at timestamptz,
ADD COLUMN IF NOT EXISTS sla_deadline timestamptz,
ADD COLUMN IF NOT EXISTS overdue_at timestamptz,
ADD COLUMN IF NOT EXISTS last_sla_event_at timestamptz;
UPDATE consultations SET status = 'unassigned' WHERE status = 'pending';
UPDATE consultations SET status = 'assigned' WHERE status = 'consulting';
ALTER TABLE knowledge_articles
ADD COLUMN IF NOT EXISTS status text NOT NULL DEFAULT 'published',
ADD COLUMN IF NOT EXISTS source text,
ADD COLUMN IF NOT EXISTS source_date date,
ADD COLUMN IF NOT EXISTS expert_confirmed_by uuid;
ALTER TABLE diseases
ADD COLUMN IF NOT EXISTS status text NOT NULL DEFAULT 'published',
ADD COLUMN IF NOT EXISTS source text,
ADD COLUMN IF NOT EXISTS source_date date,
ADD COLUMN IF NOT EXISTS expert_confirmed_by uuid;