Files
acmcc/supabase/migrations/20260503200341_65a426c5-0b9d-4498-a0af-7f2c28efddec.sql
2026-06-01 20:19:26 -04:00

15 lines
854 B
SQL

-- Allow recording votes for off-system members (name only, no auth user)
ALTER TABLE public.entity_votes ALTER COLUMN user_id DROP NOT NULL;
ALTER TABLE public.entity_votes ADD COLUMN IF NOT EXISTS voter_name text;
ALTER TABLE public.entity_votes ADD COLUMN IF NOT EXISTS recorded_by uuid REFERENCES auth.users(id) ON DELETE SET NULL;
-- Ensure either user_id or voter_name is present
ALTER TABLE public.entity_votes DROP CONSTRAINT IF EXISTS entity_votes_voter_present;
ALTER TABLE public.entity_votes ADD CONSTRAINT entity_votes_voter_present
CHECK (user_id IS NOT NULL OR (voter_name IS NOT NULL AND length(btrim(voter_name)) > 0));
-- Prevent duplicate name-only votes per entity
CREATE UNIQUE INDEX IF NOT EXISTS entity_votes_name_only_unique
ON public.entity_votes (entity_type, entity_id, lower(btrim(voter_name)))
WHERE user_id IS NULL;