Files
foodlinkk-command-center/030_document_links_360.sql

31 lines
1.3 KiB
SQL

-- Document ↔ klant/project koppelingen + auto-ingest log
CREATE TABLE IF NOT EXISTS document_links (
id SERIAL PRIMARY KEY,
storage_path TEXT NOT NULL,
is_folder BOOLEAN NOT NULL DEFAULT FALSE,
client_id INT REFERENCES clients(id) ON DELETE CASCADE,
project_id INT REFERENCES cockpit_projects(id) ON DELETE SET NULL,
link_type VARCHAR(32) NOT NULL DEFAULT 'nas_share',
notes TEXT DEFAULT '',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
created_by VARCHAR(64) DEFAULT 'cockpit'
);
CREATE UNIQUE INDEX IF NOT EXISTS idx_document_links_unique
ON document_links (storage_path, COALESCE(client_id, 0), COALESCE(project_id, 0));
CREATE INDEX IF NOT EXISTS idx_document_links_client ON document_links (client_id);
CREATE INDEX IF NOT EXISTS idx_document_links_project ON document_links (project_id);
CREATE INDEX IF NOT EXISTS idx_document_links_path ON document_links (storage_path);
CREATE TABLE IF NOT EXISTS ingest_automation_log (
id SERIAL PRIMARY KEY,
source VARCHAR(64) NOT NULL,
status VARCHAR(32) NOT NULL DEFAULT 'ok',
details JSONB NOT NULL DEFAULT '{}',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_ingest_automation_log_at ON ingest_automation_log (created_at DESC);