Files
Compass/backend/supabase/profile_stars.sql
2025-10-24 01:04:18 +02:00

32 lines
1.0 KiB
SQL

CREATE TABLE IF NOT EXISTS profile_stars (
created_time TIMESTAMPTZ DEFAULT now() NOT NULL,
creator_id TEXT NOT NULL,
star_id TEXT DEFAULT random_alphanumeric(12) NOT NULL,
target_id TEXT NOT NULL,
CONSTRAINT profile_stars_pkey PRIMARY KEY (creator_id, star_id)
);
ALTER TABLE profile_stars
ADD CONSTRAINT profile_stars_creator_id_fkey
FOREIGN KEY (creator_id)
REFERENCES users(id)
ON DELETE CASCADE;
ALTER TABLE profile_stars
ADD CONSTRAINT profile_stars_target_id_fkey
FOREIGN KEY (target_id)
REFERENCES users(id)
ON DELETE CASCADE;
-- Row Level Security
ALTER TABLE profile_stars ENABLE ROW LEVEL SECURITY;
-- Policies
DROP POLICY IF EXISTS "public read" ON profile_stars;
CREATE POLICY "public read" ON profile_stars
FOR SELECT USING (true);
-- Indexes
-- The primary key already creates a unique index on (creator_id, star_id), so no need to recreate it.
CREATE INDEX IF NOT EXISTS profile_stars_target_id_idx ON public.profile_stars USING btree (target_id);