本文へ移動
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 / 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 のスキルをすべて見る

このスキルの問題を報告する