Saltar al contenido principal

Planificación automática de migraciones

[Traducción Beta No Oficial]

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Planificación automática de migraciones

Una de las ventajas de las Migraciones Automáticas es que los desarrolladores no necesitan escribir las sentencias SQL para crear o modificar el esquema de la base de datos. Para obtener beneficios similares, añadiremos ahora un script a nuestro proyecto que planificará automáticamente archivos de migración basados en los cambios de nuestro esquema.

Para lograrlo, Ent utiliza Atlas, una herramienta de código abierto para gestionar esquemas de bases de datos, creada por los mismos desarrolladores de Ent.

Si has seguido nuestro repositorio de ejemplo, hasta ahora hemos usado SQLite como base de datos. Para mostrar un caso de uso más realista, cambiaremos ahora a MySQL. Puedes ver este cambio en PR #3.

Uso de la CLI de Atlas para planificar migraciones

En esta sección, mostraremos cómo usar la CLI de Atlas para planificar automáticamente migraciones de esquema. Anteriormente, los usuarios tenían que crear programas personalizados en Go para esto (como se describe aquí). Con las versiones recientes de Atlas, esto ya no es necesario: Atlas puede cargar nativamente el esquema de base de datos deseado desde un esquema de Ent.

[Traducción Beta No Oficial]

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Para instalar la última versión de Atlas, simplemente ejecuta uno de los siguientes comandos en tu terminal, o visita el sitio web de Atlas:

curl -sSf https://atlasgo.sh | sh

Luego, ejecuta el siguiente comando para generar automáticamente archivos de migración para tu esquema de Ent:

[Traducción Beta No Oficial]

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

atlas migrate diff migration_name \
--dir "file://ent/migrate/migrations" \
--to "ent://ent/schema" \
--dev-url "docker://mysql/8/ent"

Atlas carga el estado actual ejecutando los archivos SQL almacenados en el directorio de migraciones sobre la base de datos de desarrollo proporcionada. Luego compara este estado con el estado deseado definido por el paquete ent/schema y escribe un plan de migración para pasar del estado actual al deseado.

A continuación, veamos cómo actualizar una base de datos de producción existente para gestionarla con migraciones versionadas.