Adarsha23 / Adarsha23/petfeeder
Database - RLS Error
- 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.