# Database Operations

> Manage database operations, migrations, RLS policies, and performance optimization

- Skill: `majiayu000/database-operations-2` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/database-operations-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/database-operations-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/database-operations-2

---


# Database Operations Skill

Perform database operations using Supabase MCP integration or raw SQL.

## Capabilities

- Execute SQL queries
- Run migrations
- Manage RLS policies
- Schema inspection
- Data seeding
- Performance optimization
- Backup operations

## MCP Integration

Uses: `@supabase/mcp` (if available)

## Critical Patterns

### Always Enable RLS
```sql
-- MANDATORY for all tables
ALTER TABLE <table_name> ENABLE ROW LEVEL SECURITY;

CREATE POLICY "Users view own data"
  ON <table_name> FOR SELECT
  USING (auth.uid() = user_id);
```

### Migration Template
```sql
-- Migration: {sequence}_{description}
-- Date: {timestamp}

BEGIN;

-- Changes
CREATE TABLE IF NOT EXISTS new_table (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  user_id UUID REFERENCES users(id) NOT NULL,
  created_at TIMESTAMPTZ DEFAULT NOW()
);

-- Enable RLS immediately
ALTER TABLE new_table ENABLE ROW LEVEL SECURITY;

-- Add policies
CREATE POLICY "Users access own rows"
  ON new_table FOR ALL
  USING (auth.uid() = user_id);

COMMIT;
```

## Common Operations

### Schema Inspection
```bash
"Using Supabase MCP, show:
 - All tables in database
 - Schema for {table_name}
 - All RLS policies
 Save: temp/database/schema.md"
```

### Run Migration
```bash
"Using Supabase MCP:
 Read: database/migrations/003_add_analytics.sql
 Execute on database
 Verify: Migration successful
 Update: Migration log"
```

### Performance Check
```bash
"Analyze database performance:
 - Check table sizes
 - Identify slow queries (>100ms)
 - Find missing indexes
 - Suggest optimizations
 Output: temp/database/performance-report.md"
```

## Security Checklist

- [ ] RLS enabled on ALL tables
- [ ] Policies prevent unauthorized access
- [ ] Service role key never exposed to client
- [ ] Input validation on all queries
- [ ] Parameterized queries (no SQL injection)

---

**Remember**: Security first! Always enable RLS and use parameterized queries.

