-- Migration 007: Add setup_completed to profiles -- New signups default to false (not set up). -- Existing users who have any categories are backfilled to true (already set up). -- Wider backfill also includes users with template items to protect against -- edge case where user created template items but skipped category creation. ALTER TABLE profiles ADD COLUMN setup_completed boolean NOT NULL DEFAULT false; -- Backfill: users with categories OR template items are considered set up UPDATE profiles SET setup_completed = true WHERE id IN ( SELECT DISTINCT user_id FROM categories UNION SELECT t.user_id FROM templates t INNER JOIN template_items ti ON ti.template_id = t.id );