supabase-database
Gestion de la base de données Supabase pour MyGGV GPS. Utiliser pour les opérations SQL, migrations, tables et requêtes. NE PAS utiliser pour la documentation (utiliser archon-project).
When & Why to Use This Skill
This Claude skill provides comprehensive management for Supabase databases, specifically optimized for the MyGGV GPS project. It enables seamless execution of SQL queries, schema migrations, and database health monitoring. By integrating tools for security auditing, performance optimization, and automatic TypeScript type generation, it streamlines the backend development workflow and ensures data integrity for location-based services.
Use Cases
- Executing complex SQL queries to manage and retrieve GPS location data and Points of Interest (POIs).
- Automating database schema migrations, such as adding new columns or tables, with built-in safety checks.
- Auditing database security and performance using automated advisors to ensure Row Level Security (RLS) and query efficiency.
- Generating real-time TypeScript types from the database schema to maintain type safety across the full-stack application.
- Monitoring database logs and project configurations to troubleshoot connectivity or execution issues.
| name | supabase-database |
|---|---|
| description | Gestion de la base de données Supabase pour MyGGV GPS. Utiliser pour les opérations SQL, migrations, tables et requêtes. NE PAS utiliser pour la documentation (utiliser archon-project). |
Supabase Database - MyGGV GPS
Objectif
Gérer la base de données Supabase du projet MyGGV GPS : locations (blocs), POIs, et données de navigation.
Périmètre
Inclus
- Exécution de requêtes SQL (
execute_sql) - Création et application de migrations (
apply_migration) - Listing des tables et extensions
- Vérification des advisors (sécurité, performance)
- Consultation des logs
- Génération des types TypeScript
Exclus
- Documentation Supabase → utiliser
archon-project - Déploiement → utiliser
netlify-deploy
Tables du Projet
locations
Table principale contenant les blocs du village :
id: UUIDname: Nom du bloc (ex: "Block 1", "Block 2A")coords: Coordonnées du polygone (JSONB)color: Couleur d'affichagecreated_at: Timestamp
public_pois
Points d'intérêt publics :
id: UUIDname: Nom du POItype: Type (school, church, pool, etc.)coordinates: [lng, lat]
Workflow Type
Vérifier l'état de la base
1. mcp__supabase__list_tables() - Lister les tables
2. mcp__supabase__get_advisors({ type: "security" }) - Vérifier RLS
3. mcp__supabase__get_advisors({ type: "performance" }) - Optimisations
Créer une migration
1. Analyser le besoin
2. mcp__supabase__apply_migration({
name: "add_poi_category",
query: "ALTER TABLE public_pois ADD COLUMN category TEXT;"
})
3. Vérifier avec execute_sql
Requête de données
mcp__supabase__execute_sql({
query: "SELECT * FROM locations WHERE name LIKE 'Block%' LIMIT 10;"
})
Bonnes Pratiques
- Toujours vérifier les advisors après une migration DDL
- Utiliser des noms snake_case pour les migrations
- Ne jamais hardcoder d'IDs dans les migrations de données
- Vérifier RLS sur toutes les tables publiques
Variables d'Environnement
Le projet utilise :
VITE_SUPABASE_URL- URL du projet SupabaseVITE_SUPABASE_ANON_KEY- Clé publique (anon)
Ces variables sont configurées dans .env et sur Netlify.