20 lines
996 B
MySQL
20 lines
996 B
MySQL
|
|
-- Add archival feature to tenders table
|
||
|
|
-- Allows keeping tender details even after source removes them
|
||
|
|
|
||
|
|
ALTER TABLE tenders
|
||
|
|
ADD COLUMN IF NOT EXISTS archived BOOLEAN DEFAULT FALSE,
|
||
|
|
ADD COLUMN IF NOT EXISTS archived_at TIMESTAMP,
|
||
|
|
ADD COLUMN IF NOT EXISTS archived_snapshot JSONB,
|
||
|
|
ADD COLUMN IF NOT EXISTS last_validated TIMESTAMP,
|
||
|
|
ADD COLUMN IF NOT EXISTS validation_failures INTEGER DEFAULT 0;
|
||
|
|
|
||
|
|
-- Create index for archival queries
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_tenders_archived ON tenders(archived) WHERE archived = TRUE;
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_tenders_last_validated ON tenders(last_validated);
|
||
|
|
|
||
|
|
-- Add comment
|
||
|
|
COMMENT ON COLUMN tenders.archived IS 'TRUE if tender removed from source but we keep snapshot';
|
||
|
|
COMMENT ON COLUMN tenders.archived_snapshot IS 'Full tender details saved when first scraped';
|
||
|
|
COMMENT ON COLUMN tenders.last_validated IS 'Last time we verified URL still works';
|
||
|
|
COMMENT ON COLUMN tenders.validation_failures IS 'Number of consecutive validation failures';
|