-- =====================================================================
-- Supporter-Login: TikTok & Discord (Nutzer-Wunsch 03.08.2026 — "professionelle
-- Art sich anzumelden", kostenlose Alternativen zu "Mit Apple anmelden"
-- (99 $/Jahr, verstößt gegen die 0-€-Vorgabe)).
--
-- Google-Login (bereits vorhanden) matched Konten rein über die E-Mail
-- (email NOT NULL UNIQUE) — funktioniert, weil Google IMMER eine
-- bestätigte E-Mail liefert. TikTok Login Kit liefert dagegen in aller
-- Regel GAR KEINE E-Mail (nur open_id/union_id/display_name), Discord
-- liefert zwar eine E-Mail, aber zur klaren Nachverfolgbarkeit ("mit
-- welchem Anbieter wurde dieses Konto angelegt/zuletzt genutzt") bekommt
-- auch Discord eine eigene ID-Spalte statt sich nur auf E-Mail-Matching
-- zu verlassen.
-- =====================================================================

ALTER TABLE supporter_users ADD COLUMN tiktok_open_id TEXT;
ALTER TABLE supporter_users ADD COLUMN discord_id TEXT;

CREATE UNIQUE INDEX IF NOT EXISTS idx_supporter_users_tiktok_open_id
  ON supporter_users (tiktok_open_id) WHERE tiktok_open_id IS NOT NULL;
CREATE UNIQUE INDEX IF NOT EXISTS idx_supporter_users_discord_id
  ON supporter_users (discord_id) WHERE discord_id IS NOT NULL;
