技能 py-alembic-patterns
🗄️

py-alembic-patterns

安全 🌐 網路存取⚙️ 外部命令

Escribe migraciones seguras de Alembic para PostgreSQL

Las migraciones de base de datos pueden causar pérdida de datos o tiempo de inactividad cuando se hacen incorrectamente. Esta habilidad proporciona patrones probados para crear, revisar y aplicar de forma segura las migraciones de Alembic.

支援: Claude Codex Code(CC)
📊 71 充足
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「py-alembic-patterns」。 Crear una migración para renombrar la columna name a full_name en la tabla users

預期結果:

  • ADVERTENCIA: El autogenerar creará drop+add que pierde datos
  • ENFOQUE CORRECTO: Usar op.alter_column con parámetro new_column_name
  • Ejemplo: op.alter_column('users', 'name', new_column_name='full_name')
  • Siempre implementar downgrade correspondiente para revertir el renombrado

正在使用「py-alembic-patterns」。 Agregar una columna role requerida a la tabla users que ya tiene datos

預期結果:

  • Proceso de tres pasos para columnas no anulables en tablas existentes:
  • Paso 1: Agregar columna como anulable
  • Paso 2: Backfill filas existentes con valor por defecto
  • Paso 3: Alterar columna para agregar restricción NOT NULL
  • Esto previene fallos en tablas con datos existentes

安全審計

安全
v4 • 1/16/2026

This is a pure documentation skill containing only markdown content with educational code examples. All 39 static findings are false positives caused by pattern matching on example code in markdown blocks and metadata fields. No executable code, scripts, network operations, or file system access exists in this skill.

2
已掃描檔案
548
分析行數
2
發現項
4
審計總數
審計者: claude 查看審計歷史 →

品質評分

38
架構
100
可維護性
87
內容
30
社群
100
安全
91
規範符合性

你能建構什麼

Escribir migraciones seguras para producción

Crea migraciones con rutas de downgrade proper que manejen los datos correctamente y eviten bloqueos de tablas en entornos de producción.

Revisar migraciones antes del despliegue

Verifica que las migraciones sigan patrones de seguridad y no causen tiempo de inactividad o pérdida de datos durante despliegues en producción.

Auditar prácticas de migración del equipo

Asegurar que los equipos de desarrollo sigan las mejores prácticas de PostgreSQL para nomenclatura, creación de índices y gestión de restricciones.

試試這些提示

Crear una nueva migración
Ayúdame a crear una migración de Alembic para agregar una tabla user_preferences con columnas id, user_id y theme. Incluye funciones proper de upgrade y downgrade.
Revisar código autogenerado
Revisa esta migración de Alembic autogenerada en busca de patrones peligrosos. Verifica riesgos de pérdida de datos y lógica de downgrade faltante: [pegar migración]
Manejar cambios en tablas grandes
Necesito agregar un índice en la tabla events que tiene 50 millones de filas. Muéstrame cómo hacer esto sin bloquear la tabla en producción.
Migración de datos con backfill
Estoy agregando una columna de estado que debe ser backfilled basándose en otras columnas. Muéstrame cómo implementar esto como una migración de datos con procesamiento por lotes.

最佳實務

  • Siempre implementar funciones de downgrade que reviertan completamente la operación de upgrade
  • Revisar cada migración autogenerada en busca de patrones drop+add que causen pérdida de datos
  • Usar CONCURRENTLY para creación de índices en tablas grandes para prevenir bloqueos en producción

避免

  • Confiar en migraciones autogeneradas sin revisión manual para renombrado de columnas
  • Agregar columnas NOT NULL sin hacer backfill de filas existentes primero
  • Dejar funciones de downgrade vacías con solo pass, haciendo imposible el rollback

常見問題

¿Esta habilidad ejecuta migraciones contra mi base de datos?
No. Esta habilidad proporciona patrones y ejemplos. Tú ejecutas las migraciones usando comandos de Alembic en tu proyecto.
¿Qué cambios maneja correctamente el autogenerado de Alembic?
La creación de tablas, agregar y remover columnas, cambios de tipo y claves foráneas funcionan de forma confiable. Siempre verifica el resultado generado.
¿Cómo migro tablas con millones de filas de forma segura?
Usa CONCURRENTLY para índices, actualiza datos en lotes y agrega columnas anulables antes de las restricciones.
¿Estos patrones prevendrán toda pérdida de datos?
Abordan errores comunes pero siempre haz backup de las bases de datos de producción antes de las migraciones y prueba las rutas de downgrade.
¿Puedo usar estos patrones con MySQL u otras bases de datos?
Algunos patrones como CONCURRENTLY son específicos de PostgreSQL. La estructura general y prácticas de revisión se aplican ampliamente.
¿Por qué debo implementar funciones de downgrade que quizás nunca use?
Los downgrades son esenciales para rollback cuando se encuentran problemas después del despliegue. La única vez que lo necesitas justifica el esfuerzo.

開發者詳情

檔案結構

📄 SKILL.md