Adarsha23 / Adarsha23/petfeeder

Database - RLS Error

Ouverte
#2 0 commentaires 0 réactions 1 personne assignée Réclamée par @Adarsha23 Voir sur GitHub
bug Database high-priority
Langage dominant
JavaScript
Étoiles
1
Forks
0
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

## Problem
Getting "infinite recursion detected in policy for relation 'devices'" error when trying to fetch devices from the database.
## Error Message
ERROR: 42P17: infinite recursion detected in policy for relation "devices"

## Root Cause
The RLS policy for `devices` table checks `device_shared_access` table, which references back to `devices`, creating a circular dependency:
```sql
CREATE POLICY "Users can view their own devices"
ON devices FOR SELECT
USING (auth.uid() = owner_id OR auth.uid() IN (
SELECT user_id FROM device_shared_access WHERE device_id = devices.id
));
Steps to Reproduce
Sign up and login
Try to load dashboard
Check browser console
See 500 error with infinite recursion message
Expected Behavior
Should be able to query devices table without recursion error

Actual Behavior
Database query fails with infinite recursion error

Solution
Simplify RLS policy to only check owner_id directly, removing the shared access check:

CREATE POLICY "Users can view their own devices"
ON devices FOR SELECT
USING (auth.uid() = owner_id);
Related Files
supabase/migrations/001_initial_schema.sql (lines 206-210)
supabase/migrations/002_fix_rls_policies.sql
Branch
feature/supabase-integration

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.