Pega los esquemas anterior y nuevo y elige el dialecto. Revisa el SQL generado: las eliminaciones de tablas y columnas van comentadas y el resto de sentencias debe comprobarse antes de ejecutarlas.
Se ejecuta localmente en tu navegadorPega el esquema antiguo en «Before» y el nuevo en «After», elige PostgreSQL o MySQL y pulsa Generar migración. La herramienta lee las sentencias CREATE TABLE y escribe las sentencias ALTER y CREATE que llevan una instantánea al otro estado.
Todo se ejecuta en el navegador; ningún texto del esquema sale de la página. El resultado es un borrador para revisar: las sentencias que pueden destruir datos se escriben como comentarios para que nada se ejecute por accidente.
Compara tablas y columnas: tablas y columnas añadidas o eliminadas, cambios de tipo, cambios de NOT NULL y cambios del valor por defecto. También informa de claves primarias añadidas, eliminadas o con otro conjunto de columnas, incluidas las definiciones a nivel de tabla PRIMARY KEY (a, b).
Las claves foráneas se comparan tanto si están escritas en la columna (REFERENCES users(id)) como si son una restricción de tabla (FOREIGN KEY (a, b) REFERENCES parent (x, y)). Una clave nueva se convierte en ADD CONSTRAINT y una eliminada queda comentada con el nombre de restricción que usaría la herramienta.
DROP TABLE, DROP COLUMN y las claves primarias o foráneas eliminadas se imprimen como comentarios bajo un aviso DESTRUCTIVE, porque borran datos o restricciones que volver a ejecutar la herramienta no puede recuperar. Esta página no ejecuta el borrador: tú decides qué líneas activar.
Solo se leen sentencias CREATE TABLE. Las definiciones UNIQUE, CHECK e INDEX no se comparan, y los cambios de datos, los renombrados, las vistas, secuencias, disparadores, permisos y opciones de tabla propias del motor quedan fuera del alcance. Cuando esas definiciones se omiten, el borrador lo indica en lugar de mostrar un diff limpio.
Prueba primero en una copia de staging y genera el esquema con un volcado solo de esquema para que los datos no oculten el diff. PostgreSQL ejecuta casi todo el DDL dentro de una transacción, así que BEGIN y ROLLBACK pueden deshacer una migración errónea; MySQL confirma el DDL de forma implícita, por lo que un error hay que repararlo hacia delante.
Añadir NOT NULL o una clave primaria valida o reescribe una tabla existente y puede mantener un bloqueo mientras lo hace. Comprueba cuánto tarda con el tamaño real de la tabla (PostgreSQL valida NOT NULL con un recorrido completo, MySQL puede reconstruir la tabla) y programa el cambio en lugar de ejecutarlo en hora punta.