Por qué necesita migraciones, no create_all
Conozca el riesgo de editar esquemas activos manualmente.
Por qué necesita migraciones, no create_all es una lección gratuita de Flask Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Flask Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Flask Academy incluye 4 lecciones en total.
Los esquemas siempre cambian
Las aplicaciones reales evolucionan, por lo que sus tablas también deben cambiar. Añadirá columnas, cambiará nombres de campos y eliminará los antiguos a medida que crezcan las funcionalidades. 🔄
create_all solo crea una vez
Recuerde la limitación que vio antes: create_all solo crea las tablas que faltan. Nunca modifica una tabla que ya existe.
db.create_all()La tentadora solución incorrecta
Una solución tentadora es eliminar la tabla y volver a crearla. Funciona en una demostración, pero elimina todas las filas, algo impensable en producción.
db.drop_all()
db.create_all()Editar manualmente es arriesgado
Ejecutar ALTER TABLE sin procesar manualmente en una base de datos activa es frágil. Un error tipográfico o un paso omitido puede corromper los datos sin posibilidad sencilla de deshacerlo.
Qué es una migración
Una migration es un script pequeño que mueve el esquema de una versión a la siguiente mediante pasos seguros y repetibles.
Versionadas y ordenadas
Cada migración tiene un identificador de versión y apunta a la anterior. Juntas forman un historial ordenado de todos los cambios del esquema.
Hacia delante y hacia atrás
Una migración define dos rutas: upgrade aplica el cambio y downgrade lo revierte si algo sale mal.
def upgrade():
...
def downgrade():
...Flask-Migrate integra Alembic
Flask-Migrate conecta su aplicación con Alembic, la herramienta que detecta cambios en el esquema y escribe los scripts de migración por usted.
Registra la versión actual
Las migraciones registran la versión actual del esquema en una tabla llamada alembic_version, para que la herramienta siempre sepa en qué punto se encuentra.
Seguro en cualquier entorno
Los mismos scripts de migración se ejecutan en su ordenador, en CI y en producción, de modo que todos los entornos terminan con un esquema idéntico.
Cuándo cambiar
Use create_all únicamente para el primer prototipo. En cuanto su modelo empiece a cambiar, pase definitivamente a las migrations.
Comprobación rápida
Su tabla existe y acaba de añadir una columna. ¿Por qué no debería confiar en create_all?
Resumen
Vio por qué create_all no puede evolucionar un esquema y cómo las migrations permiten cambios seguros, versionados y reversibles. 🎉
Aprende Python con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Por qué necesita migraciones, no create_all» es gratis?
Sí — el texto completo de «Por qué necesita migraciones, no create_all» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Flask Academy, actualiza a CoddyKit PRO. El curso de Flask Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Por qué necesita migraciones, no create_all»?
Conozca el riesgo de editar esquemas activos manualmente. Practicas Flask Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Flask Academy?
No se requiere experiencia previa. Flask Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Por qué necesita migraciones, no create_all»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Flask Academy?
Sí. Cada lección de Flask Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Por qué necesita migraciones, no create_all
- Inicialice y genere automáticamente una migración
- Aplique y revierta con upgrade
- Revise y edite scripts generados