본문으로 건너뛰기
cccskills
무료GitHub에 공개

database-setup

PostgreSQL setup: migrations, indexing, schema design, expand-contract, ER diagrams. golang-migrate/Prisma/drizzle.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane스타 3(GitHub 3 + cccskills 0)
연동 도구DockerPostgreSQL

실행 점수 미검증

설치 방법 보기

포함된 파일(2)

  • SKILL.md3.9 KB
  • references/indexing-guide.md3.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

database-setup — Migrations, Indexing & Schema

Cuándo usar

Setup DB local (Docker+migrations), crear/correr/rollback migrations, diseñar/auditar índices, generar diagrama ER, cambios schema en producción.

1. Migrations

Herramienta

StackToolNotas
Gogolang-migrate/migrateCLI + librería, SQL puro
TS + Prismaprisma migrateIntegrado con ORM
TS + Drizzledrizzle-kitSQL-like, type-safe
TS sin ORMnode-pg-migrateSQL puro

No mezclar herramientas en mismo repo.

Naming

YYYYMMDDHHMMSS_description.up.sql + .down.sql. Timestamp UTC, snake_case, verbo al inicio. Nunca editar migration ya mergeada.

Zero-downtime: expand-contract

FaseQuéRelease
ExpandColumna NULLABLE/DEFAULT, tabla nueva, índice CONCURRENTLYN
BackfillJob async, idempotente, batcheado ~10k, checkpointN
Dual-writeApp escribe viejo Y nuevoN+1
Migrate readsLecturas apuntan a nuevoN+2
ContractDROP viejo tras validar (≥1 release estable)N+3

DDL y data SIEMPRE separados. Mezclar causa locks largos y rollbacks imposibles.

Locks

SET lock_timeout = '5s'; SET statement_timeout = '30s'; antes de ALTER. ADD COLUMN con DEFAULT no-volátil instantáneo desde PG 11. NOT NULL existente: ADD CHECK NOT VALID → VALIDATE en migration separada.

Rollback

CambioRollback
DDL aditivo (ADD/CREATE)Reversible con DROP
DDL destructivo (DROP, ALTER TYPE lossy)One-way, documentar
Data transformation lossyOne-way

Siempre .down.sql aunque sea vacío documentado. CI: up → down → up.

2. Indexing

Tipos: B-tree (95% — equality/range/sort), GIN (arrays/jsonb/tsvector), GiST (geo/ranges), BRIN (huge ordered tables).

Reglas clave: Composite order = igualdad → rango → ORDER BY. FK child siempre indexado (PG no lo hace automático). CREATE INDEX CONCURRENTLY obligatorio en prod. Si el índice queda INVALID → DROP y recrear.

Para guía completa (tipos, variantes partial/covering/expression, CONCURRENTLY, JSONB, queries de detección), leer references/indexing-guide.md.

3. Multi-tenant

tenant_id como primera columna en todo composite. RLS como defense in depth. Backfills considerar todos tenant_id. Schema-per-tenant: iterar lista, trackear progreso parcial.

4. ER Diagram

Escanear migrations SQL / ORM models → generar Mermaid erDiagram. >20 tablas: agrupar por dominio. Marcar nullable, PK, FK. Relaciones: ||--o{ (1:N), ||--|| (1:1), }o--o{ (N:M).

Anti-patterns

  • DDL + data en mismo archivo
  • DROP COLUMN sin período gracia
  • CREATE INDEX sin CONCURRENTLY en prod
  • Editar migration mergeada
  • ADD COLUMN NOT NULL con DEFAULT volátil
  • Composite orden incorrecto
  • Indexar baja cardinalidad sola (boolean)
  • No indexar FK child
  • Nunca REINDEX

Checklist

Setup

  • Docker Compose o script setup local documentado
  • .env.example con DATABASE_URL

Migrations

  • Naming YYYYMMDDHHMMSS, un cambio lógico por migration
  • DDL y data separados
  • .down.sql existe o documenta one-way
  • lock_timeout + statement_timeout en ALTER
  • CI: up → down → up
  • Breaking: plan expand-contract documentado

Indexing

  • Query concreta, EXPLAIN muestra Seq Scan
  • Tipo índice correcto
  • Composite: igualdad → rango → ORDER BY
  • CONCURRENTLY fuera de transacción
  • FKs con índice en child
  • Post-creación: EXPLAIN ANALYZE confirma plan

ER

  • Diagrama actualizado tras cambio schema

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Plan, design, and implement A/B tests and experiments with statistical rigor. Covers hypothesis frameworks, sample sizing, metrics, and result analysis.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Web/mobile accessibility decision guide: WCAG 2.2 AA, ARIA, keyboard nav, focus management, contrast, testing. Use for: a11y, accessibility, wcag, aria, screen reader, keyboard, contrast.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Generate, iterate, and scale ad creative for paid advertising across Google, Meta, LinkedIn, and X. Covers platform specs, creative frameworks, and quality validation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Musica interactiva para juegos: layering vertical, re-secuenciacion horizontal, stingers, reglas de transicion con sync points, y mapeo de estados de gameplay a musica. Usar para: musica adaptativa, sistema de musica dinamica, transiciones musicales, combat music.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Design multi-agent systems, create agent architectures, define communication patterns, and build autonomous agent workflows with structured evaluation frameworks.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Inter-agent communication protocol for C-suite agent teams. Defines invocation syntax, loop prevention, isolation rules, response formats, and quality loops.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

SebastianLuser의 스킬 모두 보기

이 스킬의 문제 신고