Este es el comando mysql-schema-diffp que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
mysql-schema-diff - comparar esquemas de bases de datos MySQL
SINOPSIS
mysql-schema-diff [B ] B B
mysql-schema-diff --ayuda
DESCRIPCIÓN
mysql-esquema-diff es un front-end de script de Perl para CPANhttp://www.perl.com/CPAN> módulo
MySQL :: Diffhttp://search.cpan.org/search? module = MySQL :: Diff> que compara los datos
estructuras (es decir, definiciones de esquema / tabla) de dos MySQLhttp://www.mysql.com/>
bases de datos y devuelve las diferencias como una secuencia de comandos de MySQL adecuados para canalizar
cobren mysql que transformará la estructura de la primera base de datos para que sea idéntica a
el del segundocf. diff y parche).
Las estructuras de la base de datos se pueden comparar si son archivos que contienen definiciones de tablas o
bases de datos existentes, locales o remotas.
NB El programa hace no intentar comparar cualquiera de los datos que puedan estar almacenados en el
bases de datos. Es puramente para comparar las definiciones de la tabla. No tengo planes de
implementar la comparación de datos; es un problema complejo y no necesito tal
funcionalidad de todos modos. Sin embargo, hay otro programa coldiff
<http://rossbeyer.net/software/mysql_coldiff/> que hace esto, y se basa en una versión anterior
programa llamado diferencia de datos que parece haber desaparecido de la red.
Para PostgreSQL existen herramientas similares como pgdiffhttp://pgdiff.sourceforge.net/> y
apgdiffhttp://apgdiff.startnet.biz/>.
EJEMPLOS
# comparar definiciones de tablas en dos archivos
diferencia-esquema-mysql db1.mysql db2.mysql
# comparar las definiciones de la tabla en un archivo 'db1.mysql' con una base de datos 'db2'
mysql-esquema-diff db1.mysql db2
# actualizar interactivamente el esquema de la base de datos 'db1' para que sea como el
# esquema descrito en el archivo 'db2.mysql'
diferencia-esquema-mysql -A db1 db2.mysql
# comparar definiciones de tablas en dos bases de datos en una máquina remota
mysql-schema-diff --host = remote.host.com --user = myaccount db1 db2
# comparar las definiciones de tablas en una base de datos local 'foo' con un
# 'barra' de base de datos en una máquina remota, cuando un archivo foo ya
# existe en el directorio actual
mysql-schema-diff --host2 = remote.host.com --password = secret db: foo bar
OPCIONES
Más detalles por venir; por ahora ejecute "mysql-schema-diff --help".
INTERNOS
Para las dos estructuras de la base de datos que se comparan, sucede lo siguiente:
· Si el argumento es un nombre de archivo válido, el archivo se utiliza para crear una base de datos temporal
en el que se ejecuta "mysqldump -d" para obtener las definiciones de la tabla en forma canonicalizada.
A continuación, se descarta la base de datos temporal. (La base de datos temporal se llama
"test_mysqldiff_temp_something" porque los permisos predeterminados de MySQL permiten que cualquiera
crear bases de datos que comiencen con el prefijo "test_".)
· Si el argumento es una base de datos, "mysqldump -d" se ejecuta directamente en ella.
· Cuando se requiere autenticación, el nombre de host, el nombre de usuario y la contraseña proporcionados por el
se utilizan las opciones correspondientes (escriba "mysql-schema-diff --help" para obtener más información).
· Cada conjunto de definiciones de tablas ahora se analiza en tablas, campos y claves de índice.
dentro de esas tablas; estos se comparan, y las diferencias se expresan en forma de
Declaraciones de MySQL.
Use mysql-schema-diffp en línea usando los servicios de onworks.net