-- Interaktiver Onboarding-Stand pro Profile. -- -- Werte: "welcome" (Default) | "nickname" | "block" | "done" -- -- Das Frontend nutzt diesen Wert als Single-Source-of-Truth für den Stand der -- Spotlight-Tour. So bleibt der Onboarding-Stand auch nach App-Reinstall oder -- Re-Login erhalten — kein AsyncStorage-Reset-Problem mehr. -- -- Backfill: existierende Profile (created_at < NOW()) bekommen "done" — sie -- haben den Onboarding-Flow nicht durchlaufen können (weil er noch nicht -- existierte), sollen aber auch keinen retroaktiven Spotlight kriegen. -- Wer testen will (z.B. eigenes Profile zurücksetzen), kann manuell: -- UPDATE rebreak.profiles SET onboarding_step = 'welcome' WHERE id = '...'; ALTER TABLE "rebreak"."profiles" ADD COLUMN IF NOT EXISTS "onboarding_step" TEXT NOT NULL DEFAULT 'welcome'; -- Existing rows: bereits onboardet (zumindest implizit) → "done" UPDATE "rebreak"."profiles" SET "onboarding_step" = 'done' WHERE "created_at" < NOW();