# Migrate Validate > Valida las migraciones pendientes por consistencia de claves foráneas, seguridad del rollback y buenas prácticas. Fuente: https://skillsagentes.com/skills/ruvnet/ruflo/migrate-validate Markdown: https://skillsagentes.com/skills/ruvnet/ruflo/migrate-validate.md Repositorio: https://github.com/ruvnet/ruflo Autor: ruvnet Licencia: MIT Actualizado: el mes pasado Coste de contexto: 23 tok instalada, 660 tok al activarse, 660 tok con todos los archivos del bundle Bundle: 1 archivo, 3 KB Permisos que pide: read glob grep bash mcp__plugin_ruflo-core_ruflo__memory_search mcp__plugin_ruflo-core_ruflo__memory_list mcp__plugin_ruflo-core_ruflo__memory_store mcp__plugin_ruflo-core_ruflo__agentdb_pattern-store mcp__plugin_ruflo-core_ruflo__agentdb_semantic-route ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add ruvnet/ruflo --skill migrate-validate --agent claude-code # Cursor npx -y skills add ruvnet/ruflo --skill migrate-validate --agent cursor # Codex npx -y skills add ruvnet/ruflo --skill migrate-validate --agent codex # Gemini CLI npx -y skills add ruvnet/ruflo --skill migrate-validate --agent gemini # Windsurf npx -y skills add ruvnet/ruflo --skill migrate-validate --agent windsurf # Cline npx -y skills add ruvnet/ruflo --skill migrate-validate --agent cline ``` ## Qué hace - Verifica que las referencias de clave foránea existan en el esquema actual o en migraciones previas. - Comprueba que las columnas NOT NULL añadidas tengan un DEFAULT y que cada UP tenga su DOWN correspondiente. - Marca operaciones destructivas (DROP TABLE, DROP COLUMN, TRUNCATE) sin confirmación explícita. - Revisa idempotencia (IF EXISTS/IF NOT EXISTS) y convenciones de nombres. ## Cuándo usarla - Antes de aplicar migraciones, para detectar problemas de esquema temprano. ## Qué la activa - "Valida las migraciones pendientes antes de aplicarlas" - "Revisa si hay operaciones destructivas sin proteger" ## Antes de instalar - Necesita en el PATH: npx ## Archivos - SKILL.md — 3 KB ## SKILL.md Reproducido tal cual desde ruvnet/ruflo bajo MIT. Esta sección es el documento original y está en inglés. # Migrate Validate Validate all pending database migrations for correctness, safety, and adherence to best practices. ## When to use Before applying migrations to catch issues early -- foreign key references to non-existent tables, missing rollback SQL, destructive operations without safeguards, and naming convention violations. ## Steps 1. **Find pending migrations** -- use `Glob` to list all migration files, cross-reference with applied history via `mcp__plugin_ruflo-core_ruflo__memory_search --namespace migrations` (or `memory_list`) to identify pending ones. The `memory_*` tool family routes by namespace; `agentdb_hierarchical-*` does NOT (it routes by tier), so use `memory_*` here. 2. **Parse SQL** -- use `Read` to load each pending `.up.sql` and `.down.sql` file and parse the SQL statements 3. **Check foreign keys** -- verify that all REFERENCES targets exist in the current schema or in prior migrations (both applied and pending) 4. **Check NOT NULL defaults** -- verify that any ADD COLUMN with NOT NULL has a DEFAULT value 5. **Check rollback completeness** -- verify every CREATE/ALTER in the UP file has a corresponding DROP/ALTER in the DOWN file 6. **Flag destructive ops** -- warn on DROP TABLE, DROP COLUMN, TRUNCATE without explicit confirmation 7. **Check idempotency** -- verify IF EXISTS / IF NOT EXISTS is used for safety 8. **Check naming** -- verify table names are plural, column names are snake_case, index names follow `idx_table_column` convention 9. **Store validation patterns** -- two paths (per ruflo-cost-tracker ADR-0001 dual-path pattern): - **Pattern store (typed, recommended)**: `mcp__plugin_ruflo-core_ruflo__agentdb_pattern-store` with `type: 'migration-validation'`. No namespace arg — ReasoningBank routes it. - **Plain store (namespace-routable)**: `mcp__plugin_ruflo-core_ruflo__memory_store --namespace migrations` for validation results tied to a specific migration number. 10. **Report** -- display: errors (must fix), warnings (should fix), info (suggestions), with file path and line number for each issue ## CLI alternative ```bash npx @claude-flow/cli@latest memory search --query "migration validation results" --namespace migrations ``` ## Dónde encaja - Categoría: [Bases de datos](https://skillsagentes.com/categorias/bases-de-datos.md) — Diseño de esquemas, migraciones y optimización de consultas. - Creador: [ruvnet](https://skillsagentes.com/creators/ruvnet.md) — 275 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Harness Gepa](https://skillsagentes.com/skills/ruvnet/ruflo/harness-gepa.md): Inspecciona y audita genomas GEPA: carga y valida un genoma, renderiza el system prompt que compila, o clasifica los modos de fallo de una transcripción de ejecución. - [Deepseek Reason](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-reason.md): Completion en modo razonamiento contra deepseek-reasoner (R1) de DeepSeek. Devuelve el chain-of-thought por separado de la respuesta final. Lee DEEPSEEK_API_KEY y degrada si falta o la API no responde. - [Deepseek Chat](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-chat.md): Completion de un solo turno contra el modelo deepseek-chat de DeepSeek vía /v1/chat/completions. Lee DEEPSEEK_API_KEY y degrada con status:degraded si falta o la API no responde. Para tareas sin razonamiento. - [Adr Index](https://skillsagentes.com/skills/ruvnet/ruflo/adr-index.md): Construye o reconstruye el índice de ADRs y su grafo de dependencias ejecutando scripts/import.mjs, en vez de cientos de llamadas MCP. - [Agntcy Status](https://skillsagentes.com/skills/ruvnet/ruflo/agntcy-status.md): Muestra el estado de la integración AGNTCY/SLIM/CASA: si los paquetes están instalados, qué transporte está activo y si el enforcement de CASA está habilitado. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)