14 lines
612 B
SQL
14 lines
612 B
SQL
CREATE TABLE assessor_import_fingerprints (
|
|
sha256 text PRIMARY KEY CHECK (sha256 ~ '^[a-f0-9]{64}$'),
|
|
file_name text NOT NULL CHECK (btrim(file_name) <> ''),
|
|
size_bytes bigint NOT NULL CHECK (size_bytes >= 0),
|
|
last_modified bigint NOT NULL CHECK (last_modified >= 0),
|
|
first_imported_at timestamptz NOT NULL,
|
|
last_imported_at timestamptz NOT NULL,
|
|
import_count integer NOT NULL DEFAULT 1 CHECK (import_count >= 1),
|
|
data jsonb NOT NULL CHECK (jsonb_typeof(data) = 'object')
|
|
);
|
|
|
|
CREATE INDEX assessor_import_fingerprints_last_imported_idx
|
|
ON assessor_import_fingerprints (last_imported_at DESC);
|