-- Migration: Add visitor location and dispensary name to click events -- Captures where visitors are clicking from and which dispensary -- Add visitor location columns ALTER TABLE product_click_events ADD COLUMN IF NOT EXISTS visitor_city VARCHAR(100); ALTER TABLE product_click_events ADD COLUMN IF NOT EXISTS visitor_state VARCHAR(10); ALTER TABLE product_click_events ADD COLUMN IF NOT EXISTS visitor_lat DECIMAL(10, 7); ALTER TABLE product_click_events ADD COLUMN IF NOT EXISTS visitor_lng DECIMAL(10, 7); -- Add dispensary name for easier reporting ALTER TABLE product_click_events ADD COLUMN IF NOT EXISTS dispensary_name VARCHAR(255); -- Create index for location-based analytics CREATE INDEX IF NOT EXISTS idx_product_click_events_visitor_state ON product_click_events(visitor_state) WHERE visitor_state IS NOT NULL; CREATE INDEX IF NOT EXISTS idx_product_click_events_visitor_city ON product_click_events(visitor_city) WHERE visitor_city IS NOT NULL; -- Add comments COMMENT ON COLUMN product_click_events.visitor_city IS 'City where the visitor is located (from IP geolocation)'; COMMENT ON COLUMN product_click_events.visitor_state IS 'State where the visitor is located (from IP geolocation)'; COMMENT ON COLUMN product_click_events.visitor_lat IS 'Visitor latitude (from IP geolocation)'; COMMENT ON COLUMN product_click_events.visitor_lng IS 'Visitor longitude (from IP geolocation)'; COMMENT ON COLUMN product_click_events.dispensary_name IS 'Name of the dispensary (denormalized for easier reporting)';