-- ═══════════════════════════════════════════════════════════════ -- 013 DROP events.host_org_id -- -- Run this only once 012 is deployed and the site is reading -- hosts off event_hosts. Until then the column is the rollback: -- restoring the old v_events is one CREATE VIEW away. -- -- SQLite refuses DROP COLUMN while the column is named by an index -- or a view, so both go first and the view comes back unchanged -- apart from no longer selecting e.host_org_id through e.*. No -- table rebuild, so no PRAGMA foreign_keys dance. -- -- Check nothing still reads it before running: -- grep -rn host_org_id server/src client/src -- -- PRAGMA user_version; -- reads 12 before this file -- ═══════════════════════════════════════════════════════════════ DROP INDEX IF EXISTS events_host_idx; DROP VIEW IF EXISTS v_events; ALTER TABLE events DROP COLUMN host_org_id; CREATE VIEW v_events AS SELECT e.*, h.host_kind, h.host_id, h.host_name, h.host_org_kind, COALESCE(e.org_logo, h.host_logo) AS effective_org_logo, COALESCE(e.color, h.host_color) AS effective_color, COALESCE( e.status, CASE WHEN e.ends_on IS NOT NULL AND e.ends_on < date('now') THEN 'past' ELSE 'upcoming' END ) AS effective_status FROM events e LEFT JOIN v_event_hosts h ON h.id = ( SELECT x.id FROM v_event_hosts x WHERE x.event_id = e.id ORDER BY x.sort_order, x.id LIMIT 1 ); PRAGMA user_version = 13; -- ← set to this migration's number