● Zion Boggan
repos/Drophawk/backend/migrations/20260101000002_sources.sql
zionboggan.com ↗
20 lines · sql
History for this file →
1
CREATE TABLE sources (
2
    id                   TEXT PRIMARY KEY,
3
    name                 TEXT NOT NULL,
4
    category             TEXT NOT NULL CHECK (category IN ('primary','resale','sports','festival','social')),
5
    enabled              BOOLEAN NOT NULL DEFAULT TRUE,
6
    status               TEXT NOT NULL DEFAULT 'healthy'
7
                         CHECK (status IN ('healthy','degraded','down','disabled')),
8
    poll_interval_s      INTEGER NOT NULL DEFAULT 300 CHECK (poll_interval_s BETWEEN 1 AND 86400),
9
    tight_interval_s     INTEGER NOT NULL DEFAULT 10  CHECK (tight_interval_s BETWEEN 1 AND 3600),
10
    last_poll_at         TIMESTAMPTZ,
11
    last_success_at      TIMESTAMPTZ,
12
    last_error           TEXT,
13
    consecutive_failures INTEGER NOT NULL DEFAULT 0 CHECK (consecutive_failures >= 0),
14
    created_at           TIMESTAMPTZ NOT NULL DEFAULT NOW(),
15
    updated_at           TIMESTAMPTZ NOT NULL DEFAULT NOW()
16
);
17
 
18
CREATE TRIGGER sources_set_updated_at
19
    BEFORE UPDATE ON sources
20
    FOR EACH ROW EXECUTE FUNCTION set_updated_at();