Generador de migraciones de base de datos — diferencia de esquemas a SQL up / down
Generador de migraciones de base de datos
Pegue el esquema actual a la izquierda y el esquema destino a la derecha, ya sea como DDL CREATE TABLE o como JSON de esquema del Diseñador de ERD; después genere un script hacia delante (up) y la reversión correspondiente (down): tablas nuevas y eliminadas, columnas añadidas, eliminadas y modificadas, y cambios de claves externas, con el entrecomillado adecuado para MySQL, PostgreSQL, SQL Server, SQLite, Oracle o SQL estándar. No se sube nada; la diferencia se calcula en su navegador.
1 — Antes (esquema actual)
2 — Después (esquema destino)
3 — Generar la migración
Las sentencias se agrupan por tabla; revise la salida antes de ejecutarla.
Todavía no se ha generado ninguna diferencia.
Alcance: esta es una diferencia estructural de tablas, columnas, claves primarias, nulabilidad, valores predeterminados y claves externas. Los índices, los disparadores, las vistas y las rellenadas de datos quedan fuera del alcance y deben añadirse a mano. SQLite no puede modificar una columna en su lugar, así que esos cambios se emiten como un comentario que le pide recrear la tabla.
¿Qué es una migración de base de datos?
Una migración es un script versionado que cambia el esquema de una base de datos: crear esta tabla, añadir aquella columna, eliminar un índice. Los equipos aplican las migraciones en orden para que cada entorno (desarrollo, preproducción, producción) recorra el mismo camino de versión en versión, en lugar de editarse a mano hasta quedar en formas que ya no coinciden con el código. Cada migración suele tener dos mitades: up aplica el cambio, down lo revierte, de modo que una versión defectuosa pueda deshacerse del mismo modo en que entró.
Las migraciones que eliminan tablas o columnas son destructivas: el script down no puede resucitar los datos borrados. Haga una copia de seguridad (o al menos exporte las tablas afectadas) antes de ejecutar una migración que elimine algo.