Assessor_2.0/server/postgres/migrations/005_gpo_backup_analysis.sql

22 lines
931 B
SQL

ALTER TABLE assessor_import_processing_runs
ADD CONSTRAINT assessor_processing_runs_identity_unique UNIQUE (id, project_id, artifact_id);
CREATE TABLE assessor_gpo_backup_instances (
id text PRIMARY KEY CHECK (btrim(id) <> ''),
project_id text NOT NULL,
artifact_id text NOT NULL,
processing_run_id text NOT NULL,
instance_id text NOT NULL CHECK (btrim(instance_id) <> ''),
created_at timestamptz NOT NULL,
data jsonb NOT NULL CHECK (jsonb_typeof(data) = 'object'),
FOREIGN KEY (processing_run_id, project_id, artifact_id)
REFERENCES assessor_import_processing_runs(id, project_id, artifact_id) ON DELETE CASCADE,
UNIQUE (processing_run_id, instance_id)
);
CREATE INDEX assessor_gpo_backup_instances_project_idx
ON assessor_gpo_backup_instances(project_id, created_at, id);
CREATE INDEX assessor_gpo_backup_instances_artifact_idx
ON assessor_gpo_backup_instances(artifact_id, processing_run_id, id);