ALTER TABLE revision_materialized_prefix ADD COLUMN meta_json TEXT NOT NULL DEFAULT '{}'; ALTER TABLE module_domain_entry ADD COLUMN resolve_meta TEXT NOT NULL DEFAULT '{}'; CREATE TABLE IF NOT EXISTS module_cdn_fetch_log ( id INTEGER PRIMARY KEY AUTOINCREMENT, module_id TEXT NOT NULL REFERENCES module (id) ON DELETE CASCADE, source_id TEXT REFERENCES module_cdn_source (id) ON DELETE SET NULL, http_status INTEGER, bytes INTEGER, error TEXT, fetched_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')) ); CREATE INDEX IF NOT EXISTS idx_module_cdn_fetch_log_module ON module_cdn_fetch_log (module_id, fetched_at DESC); CREATE INDEX IF NOT EXISTS idx_rev_mat_prefix_revision ON revision_materialized_prefix (revision_id); CREATE INDEX IF NOT EXISTS idx_module_tenant ON module (tenant_id); CREATE INDEX IF NOT EXISTS idx_module_prefix_snapshot_collected ON module_prefix_snapshot (collected_at); CREATE INDEX IF NOT EXISTS idx_rev_mat_prefix_value ON revision_materialized_prefix (prefix);