1CREATE TABLE IF NOT EXISTS webhooks (2 id INTEGER PRIMARY KEY AUTOINCREMENT,3 repo_id INTEGER NOT NULL,4 url TEXT NOT NULL,5 secret TEXT NOT NULL,6 content_type INTEGER NOT NULL,7 active BOOLEAN NOT NULL,8 created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,9 updated_at DATETIME NOT NULL,10 UNIQUE (repo_id, url),11 CONSTRAINT repo_id_fk12 FOREIGN KEY(repo_id) REFERENCES repos(id)13 ON DELETE CASCADE14 ON UPDATE CASCADE15);1617CREATE TABLE IF NOT EXISTS webhook_events (18 id INTEGER PRIMARY KEY AUTOINCREMENT,19 webhook_id INTEGER NOT NULL,20 event INTEGER NOT NULL,21 created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,22 UNIQUE (webhook_id, event),23 CONSTRAINT webhook_id_fk24 FOREIGN KEY(webhook_id) REFERENCES webhooks(id)25 ON DELETE CASCADE26 ON UPDATE CASCADE27);2829CREATE TABLE IF NOT EXISTS webhook_deliveries (30 id TEXT PRIMARY KEY,31 webhook_id INTEGER NOT NULL,32 event INTEGER NOT NULL,33 request_url TEXT NOT NULL,34 request_method TEXT NOT NULL,35 request_error TEXT,36 request_headers TEXT NOT NULL,37 request_body TEXT NOT NULL,38 response_status INTEGER NOT NULL,39 response_headers TEXT NOT NULL,40 response_body TEXT NOT NULL,41 created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,42 CONSTRAINT webhook_id_fk43 FOREIGN KEY(webhook_id) REFERENCES webhooks(id)44 ON DELETE CASCADE45 ON UPDATE CASCADE46);