CREATE TABLE IF NOT EXISTS races ( id TEXT PRIMARY KEY, race_date DATE NOT NULL, title TEXT NOT NULL, distance_km NUMERIC(6,3) NOT NULL, status TEXT CHECK (status IN ('planned', 'completed')), official_url TEXT, start_time TEXT, cluster_schedule TEXT, bib_pickup TEXT, bib_number TEXT, finish_time TEXT, notes TEXT, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ );