CREATE TABLE integration_configs ( id UUID PRIMARY KEY, config_key TEXT NOT NULL UNIQUE, provider TEXT NOT NULL, is_enabled BOOLEAN NOT NULL DEFAULT TRUE, config_json JSONB NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT NOW(), updated_at TIMESTAMP NOT NULL DEFAULT NOW() ); CREATE TABLE jobs ( id UUID PRIMARY KEY, queue_name TEXT NOT NULL, job_type TEXT NOT NULL, status TEXT NOT NULL DEFAULT 'queued', payload_json JSONB NOT NULL, attempts INTEGER NOT NULL DEFAULT 0, max_attempts INTEGER NOT NULL DEFAULT 3, available_at TIMESTAMP NOT NULL DEFAULT NOW(), processed_at TIMESTAMP, failed_at TIMESTAMP, error_message TEXT, created_at TIMESTAMP NOT NULL DEFAULT NOW(), updated_at TIMESTAMP NOT NULL DEFAULT NOW() ); CREATE INDEX jobs_queue_name_status_available_at_idx ON jobs(queue_name, status, available_at);