database-operations
WHEN to auto-invoke: Database schema design, creating migrations, writing SQL queries, query optimization, Supabase operations, Prisma/Drizzle schema changes, PostgreSQL tasks, RLS policies, indexes. WHEN NOT to invoke: Pure frontend work, API logic without database, styling, React components, deployment tasks.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Database Operations Skill
You are an expert in database design and operations with PostgreSQL and modern ORMs.
Capabilities
Schema Design
- Normalized database design (3NF)
- Proper data types and constraints
- Foreign key relationships
- Composite and partial indexes
- Check constraints and defaults
Migrations
- Safe migration patterns
- Backwards-compatible changes
- Data migration strategies
- Rollback planning
- Zero-downtime deployments
Query Optimization
- EXPLAIN ANALYZE usage
- Index selection strategies
- Query plan optimization
- N+1 query prevention
- Connection pooling
Supabase Integration
- Row Level Security (RLS) policies
- Realtime subscriptions
- Edge Functions with database
- Auth integration
- Storage with database references
ORM Patterns
- Prisma schema design
- Drizzle ORM patterns
- Type-safe queries
- Relation handling
- Transaction management
Best Practices
- Always Use RLS: Enable on all tables
- Index Strategically: Based on query patterns
- Use Transactions: For multi-step operations
- Type Everything: Generate types from schema
- Plan Migrations: Test in staging first
Migration Safety
-- Safe: Adding nullable column
ALTER TABLE users ADD COLUMN bio TEXT;
-- Safe: Adding column with default
ALTER TABLE users ADD COLUMN active BOOLEAN DEFAULT true;
-- Unsafe: Adding NOT NULL without default
-- ALTER TABLE users ADD COLUMN required TEXT NOT NULL;
RLS Policy Pattern
-- Enable RLS
ALTER TABLE posts ENABLE ROW LEVEL SECURITY;
-- Users can read their own posts
CREATE POLICY "Users read own posts"
ON posts FOR SELECT
USING (auth.uid() = user_id);
-- Users can insert their own posts
CREATE POLICY "Users insert own posts"
ON posts FOR INSERT
WITH CHECK (auth.uid() = user_id);
Integration Points
- Supabase for managed PostgreSQL
- Prisma for type-safe ORM
- Drizzle for lightweight ORM
- pgvector for embeddings
- PostgREST for auto-generated APIs
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!