CREATE TABLE sources ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, url VARCHAR(2048) NOT NULL, type VARCHAR(50) NOT NULL, -- 'rss', 'api', 'website' status VARCHAR(50) NOT NULL DEFAULT 'active', last_crawled_at TIMESTAMP NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted_at TIMESTAMP NULL, INDEX idx_sources_status (status) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE source_categories ( source_id BIGINT UNSIGNED NOT NULL, category VARCHAR(100) NOT NULL, PRIMARY KEY (source_id, category), FOREIGN KEY (source_id) REFERENCES sources(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;