Add snapshots

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2025-08-19 14:28:13 +02:00
parent 9a7add8577
commit e12d04c947
49 changed files with 5560 additions and 185 deletions

View File

@@ -0,0 +1,24 @@
CREATE TYPE snapshots_type AS ENUM (
'RISKS',
'VENDORS',
'ASSETS',
'DATA',
'NON_CONFORMITY_REGISTRIES',
'COMPLIANCE_REGISTRIES'
);
CREATE TABLE snapshots (
id TEXT PRIMARY KEY,
tenant_id TEXT NOT NULL,
organization_id TEXT NOT NULL,
name TEXT NOT NULL,
description TEXT,
type snapshots_type NOT NULL,
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
CONSTRAINT snapshots_organization_id_fkey
FOREIGN KEY (organization_id)
REFERENCES organizations(id)
ON UPDATE CASCADE
ON DELETE CASCADE
);

View File

@@ -0,0 +1,31 @@
ALTER TABLE data ADD COLUMN snapshot_id TEXT;
ALTER TABLE data ADD COLUMN source_id TEXT;
ALTER TABLE data ADD CONSTRAINT data_snapshot_id_fkey
FOREIGN KEY (snapshot_id)
REFERENCES snapshots(id)
ON UPDATE CASCADE
ON DELETE CASCADE;
ALTER TABLE data ADD CONSTRAINT data_source_id_snapshot_id_key
UNIQUE (source_id, snapshot_id);
ALTER TABLE vendors ADD COLUMN snapshot_id TEXT;
ALTER TABLE vendors ADD COLUMN source_id TEXT;
ALTER TABLE vendors ADD CONSTRAINT vendors_snapshot_id_fkey
FOREIGN KEY (snapshot_id)
REFERENCES snapshots(id)
ON UPDATE CASCADE
ON DELETE CASCADE;
ALTER TABLE vendors ADD CONSTRAINT vendors_source_id_snapshot_id_key
UNIQUE (source_id, snapshot_id);
ALTER TABLE data_vendors ADD COLUMN snapshot_id TEXT;
ALTER TABLE data_vendors ADD CONSTRAINT data_vendors_snapshot_id_fkey
FOREIGN KEY (snapshot_id)
REFERENCES snapshots(id)
ON UPDATE CASCADE
ON DELETE CASCADE;