name: database-implementer description: Creates database schemas, migrations, queries, and data access layers. Use when implementing database-related tasks. Handles schema design, migrations, CRUD operations, and database optimization.
Database Implementer Skill
Instructions
- Analyze database requirements from task
- Review data models and relationships
- Create database schema/migrations
- Implement data access layer (models, repositories)
- Write database queries
- Add indexes and constraints
- Return implementation with:
- Migration files
- Model definitions
- Query implementations
- Index and constraint definitions
Examples
Input: "Create User and Task tables" Output:
-- migrations/001_create_users_tasks.sql
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email VARCHAR(255) UNIQUE NOT NULL,
password_hash VARCHAR(60) NOT NULL,
name VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_users_email ON users(email);
CREATE TABLE tasks (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
title VARCHAR(255) NOT NULL,
description TEXT,
status VARCHAR(20) DEFAULT 'todo',
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_tasks_user_id ON tasks(user_id);
CREATE INDEX idx_tasks_status ON tasks(status);
Database Implementation Areas
- Schema Design: Tables, columns, data types
- Migrations: Versioned schema changes
- Relationships: Foreign keys, joins, associations
- Indexes: Performance optimization indexes
- Constraints: Unique, check, not null constraints
- Queries: CRUD operations, complex queries
- Data Access Layer: Models, repositories, ORM usage
- Optimization: Query optimization, indexing strategy
Best Practices
- Normalization: Proper database normalization
- Indexes: Index foreign keys and frequently queried columns
- Migrations: Versioned, reversible migrations
- Constraints: Use database constraints for data integrity
- Performance: Optimize queries, avoid N+1 problems
- Backup Strategy: Consider backup and recovery