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);