← ClaudeAtlas

managing-supabase-schema-migrationslisted

Guides creation, validation, and application of Supabase database migrations with RLS policy checks and type generation. Use when adding tables, modifying schema, or updating database structure.
Hildegaardchiasmal966/claude-skills · ★ 2 · API & Backend · score 68
Install: claude install-skill Hildegaardchiasmal966/claude-skills
# Managing Supabase Schema Migrations Safe workflow for database schema changes with automatic type generation and RLS validation. ## When to Use This Skill - Adding new tables - Modifying existing columns - Creating indexes - Adding or updating RLS policies - Any database schema changes ## Migration Workflow Follow these steps for safe migrations: ### Step 1: Create Migration File ```bash # Create a new migration with descriptive name supabase migration new add_recipe_tags_table # Or with bash helper bash .claude/skills/supabase-migrations/scripts/create-migration.sh "add_recipe_tags_table" ``` This creates: `supabase/migrations/[timestamp]_add_recipe_tags_table.sql` ### Step 2: Write Migration SQL Edit the generated file with your schema changes. **Example: Adding a new table** ```sql -- Create recipe_tags table CREATE TABLE IF NOT EXISTS public.recipe_tags ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), recipe_id UUID NOT NULL REFERENCES public.saved_recipes(id) ON DELETE CASCADE, tag VARCHAR(50) NOT NULL, created_at TIMESTAMPTZ DEFAULT NOW(), -- Ensure unique tag per recipe UNIQUE(recipe_id, tag) ); -- Create index for faster lookups CREATE INDEX idx_recipe_tags_recipe_id ON public.recipe_tags(recipe_id); CREATE INDEX idx_recipe_tags_tag ON public.recipe_tags(tag); -- Enable RLS ALTER TABLE public.recipe_tags ENABLE ROW LEVEL SECURITY; -- RLS Policy: Users can only see tags for recipes they own CREATE POLICY "Users can view their own recipe ta