You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

81 lines
2.5 KiB

CREATE SCHEMA osh;
GRANT USAGE ON SCHEMA osh TO postgres;
CREATE TABLE IF NOT EXISTS osh.offerings(
offeringId VARCHAR(100),
description VARCHAR(200),
PRIMARY KEY (offeringId)
);
CREATE TABLE IF NOT EXISTS osh.results(
resultsId SERIAL,
datetime TIMESTAMP WITHOUT TIME ZONE DEFAULT (NOW() AT TIME ZONE 'utc') NOT NULL,
state BOOLEAN,
logs bytea,
task_reference VARCHAR(50),
PRIMARY KEY (resultsId)
);
CREATE TABLE IF NOT EXISTS osh.scans(
scanID SERIAL,
offeringId VARCHAR(100),
eventID VARCHAR(100) NOT NULL,
isManagedService BOOLEAN NOT NULL,
componentList VARCHAR(100),
datetime TIMESTAMP WITHOUT TIME ZONE DEFAULT (NOW() AT TIME ZONE 'utc') NOT NULL,
owner VARCHAR(50) NOT NULL,
results SERIAL,
status VARCHAR (50) CONSTRAINT valid_status CHECK(status in ('PENDING', 'DELETED', 'COMPLETED', 'IN PROGRESS')),
last_updated TIMESTAMP WITHOUT TIME ZONE DEFAULT (NOW() AT TIME ZONE 'utc') NOT NULL,
PRIMARY KEY(scanID),
FOREIGN KEY (offeringId) REFERENCES osh.offerings(offeringId),
FOREIGN KEY (results) REFERENCES osh.results(resultsId)
);
CREATE TABLE IF NOT EXISTS osh.archive(
scanID SERIAL,
offeringId VARCHAR(100),
eventID VARCHAR(100) NOT NULL,
isManagedService BOOLEAN NOT NULL,
componentList VARCHAR(100),
datetime TIMESTAMP WITHOUT TIME ZONE DEFAULT (NOW() AT TIME ZONE 'utc') NOT NULL,
owner VARCHAR(50) NOT NULL,
results SERIAL,
status VARCHAR (50) CONSTRAINT valid_status CHECK(status in ('PENDING', 'DELETED', 'COMPLETED', 'IN PROGRESS')),
last_updated TIMESTAMP WITHOUT TIME ZONE DEFAULT (NOW() AT TIME ZONE 'utc') NOT NULL,
PRIMARY KEY(scanID),
FOREIGN KEY (offeringId) REFERENCES osh.offerings(offeringId),
FOREIGN KEY (results) REFERENCES osh.results(resultsId)
);
CREATE TABLE IF NOT EXISTS osh.gitscans (
id SERIAL,
buildSystemType VARCHAR(80),
repository VARCHAR(150),
reference VARCHAR(100),
commitId VARCHAR(100),
-- SHA256 has a length of 256 bits, so 256 bits would represent 64 hex characters
hashsum VARCHAR(64),
PRIMARY KEY(id)
);
CREATE TABLE IF NOT EXISTS osh.pncscans(
id SERIAL,
buildSystemType VARCHAR(80),
buildId VARCHAR(100),
PRIMARY KEY(id)
);
CREATE TABLE IF NOT EXISTS osh.brewscans(
id SERIAL,
buildSystemType VARCHAR(80),
brewId VARCHAR(100),
brewNVR VARCHAR(100),
pncId VARCHAR(100),
artifactType VARCHAR(100),
fileName VARCHAR(100),
builtfromSource BOOLEAN,
PRIMARY KEY(id)
);