CREATE TABLE IF NOT EXISTS event_queue ( id INTEGER PRIMARY KEY AUTOINCREMENT, event_type TEXT NOT NULL, payload TEXT NOT NULL, status TEXT NOT NULL DEFAULT 'pending', retry_count INTEGER NOT NULL DEFAULT 0, max_retries INTEGER NOT NULL DEFAULT 3, created_at TEXT NOT NULL DEFAULT (datetime('now')), updated_at TEXT NOT NULL DEFAULT (datetime('now')), error_message TEXT ); CREATE TABLE IF NOT EXISTS dead_letter_queue ( id INTEGER PRIMARY KEY AUTOINCREMENT, original_event_id INTEGER NOT NULL, event_type TEXT NOT NULL, payload TEXT NOT NULL, error_message TEXT NOT NULL, retry_count INTEGER NOT NULL, created_at TEXT NOT NULL DEFAULT (datetime('now')), original_created_at TEXT NOT NULL ); CREATE INDEX idx_event_queue_status ON event_queue(status); CREATE INDEX idx_event_queue_created_at ON event_queue(created_at);