跳到正文
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(原文)

安装前可以查看交给 AI 代理的指令内容。

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 / 1000 字

此表单受 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 的全部技能

报告此技能的问题