diff --git a/supabase/migrations/20251003171247_d79e4c4c-703c-4dcc-a555-824341990f2f.sql b/supabase/migrations/20251003171247_d79e4c4c-703c-4dcc-a555-824341990f2f.sql new file mode 100644 index 00000000..f123b2a3 --- /dev/null +++ b/supabase/migrations/20251003171247_d79e4c4c-703c-4dcc-a555-824341990f2f.sql @@ -0,0 +1,60 @@ +-- Configure Realtime access for moderation tables +-- Ensure tables have proper replica identity +ALTER TABLE content_submissions REPLICA IDENTITY FULL; +ALTER TABLE submission_items REPLICA IDENTITY FULL; +ALTER TABLE reports REPLICA IDENTITY FULL; +ALTER TABLE reviews REPLICA IDENTITY FULL; + +-- Add tables to realtime publication if not already added +DO $$ +BEGIN + -- Add content_submissions + IF NOT EXISTS ( + SELECT 1 FROM pg_publication_tables + WHERE pubname = 'supabase_realtime' + AND schemaname = 'public' + AND tablename = 'content_submissions' + ) THEN + ALTER PUBLICATION supabase_realtime ADD TABLE content_submissions; + END IF; + + -- Add submission_items + IF NOT EXISTS ( + SELECT 1 FROM pg_publication_tables + WHERE pubname = 'supabase_realtime' + AND schemaname = 'public' + AND tablename = 'submission_items' + ) THEN + ALTER PUBLICATION supabase_realtime ADD TABLE submission_items; + END IF; + + -- Add reports + IF NOT EXISTS ( + SELECT 1 FROM pg_publication_tables + WHERE pubname = 'supabase_realtime' + AND schemaname = 'public' + AND tablename = 'reports' + ) THEN + ALTER PUBLICATION supabase_realtime ADD TABLE reports; + END IF; + + -- Add reviews + IF NOT EXISTS ( + SELECT 1 FROM pg_publication_tables + WHERE pubname = 'supabase_realtime' + AND schemaname = 'public' + AND tablename = 'reviews' + ) THEN + ALTER PUBLICATION supabase_realtime ADD TABLE reviews; + END IF; +END $$; + +-- Verify configuration +SELECT + schemaname, + tablename, + pubname +FROM pg_publication_tables +WHERE pubname = 'supabase_realtime' +AND schemaname = 'public' +ORDER BY tablename; \ No newline at end of file