ciao
cerco un software per confrontare due db mysql, schema e dati
ambiente: win7x64 wamp mysql_workbench
ciao
cerco un software per confrontare due db mysql, schema e dati
ambiente: win7x64 wamp mysql_workbench
semplicità ... al sol nominarla sembra svanire
mysqldbcompare è una utility di mysql, non ho ancora capito se fa al caso ne come si usa
http://docs.oracle.com/cd/E17952_01/...dbcompare.html
mysqldbcompare.exe non si trova nella cartella bin di mysql ma nella cartella utilities di Workbench
C:\Program Files (x86)\MySQL\MySQL Workbench 5.2 CE\utilities
ho provato ad eseguire mysqldbcompare.exe direttamente da riga di comando di windows ma non sembra essere il modo corretto
codice:C:\Program Files (x86)\MySQL\MySQL Workbench 5.2 CE\utilities>mysqldbcompare.exe --server1=root@localhost --server2=root@localhost db_vtigercrm60_01:d b_vtigercrm60_01copy Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named site ImportError: No module named mysqldbcompare Unable to start mysqldbcompare, please verify that your installation is correct
Ultima modifica di biagiopas; 08-01-2014 a 15:32
semplicità ... al sol nominarla sembra svanire
non so perchè ma scaricando l'ultima versione delle mysql utility si èrisolto il problema di prima
ho creato due copie di database simili da confrontare che differiscono per pochi dati
adesso mysqldbcompare.exe viene eseguita ma genera comunque un errore:
ERROR: The object definitions do not match.
codice:C:\Program Files (x86)\MySQL\MySQL Utilities>mysqldbcompare.exe --server1=root@localhost db_phpgrid_sampledb:db_phpgrid_sampledb_copy --difftype=sql # server1 on localhost: ... connected. # Checking databases db_phpgrid_sampledb and db_phpgrid_sampledb_copy on server1 # # WARNING: Cannot generate SQL statements for these objects. # Check the difference output for other discrepencies. --- `db_phpgrid_sampledb` +++ `db_phpgrid_sampledb_copy` @@ -1 +1 @@ -CREATE DATABASE `db_phpgrid_sampledb` /*!40100 DEFAULT CHARACTER SET utf8 */ +CREATE DATABASE `db_phpgrid_sampledb_copy` /*!40100 DEFAULT CHARACTER SET utf8 */ # WARNING: Could not generate changes for {0}. No changes required or not supported difference. # WARNING: Cannot generate SQL statements for these objects. # Check the difference output for other discrepencies. --- `db_phpgrid_sampledb` +++ `db_phpgrid_sampledb_copy` @@ -1 +1 @@ -CREATE DATABASE `db_phpgrid_sampledb` /*!40100 DEFAULT CHARACTER SET utf8 */ +CREATE DATABASE `db_phpgrid_sampledb_copy` /*!40100 DEFAULT CHARACTER SET utf8 */ ERROR: The object definitions do not match.
semplicità ... al sol nominarla sembra svanire
risolto
mancava l'opzione
--run-all-tests
che non blocca l'esecuzione al verificarsi del primo errore
codice:C:\Program Files (x86)\MySQL\MySQL Utilities>mysqldbcompare.exe --server1=root@localhost db_phpgrid_sampledb:db_phpgrid_sampledb_copy --difftype=sql - -run-all-tests # server1 on localhost: ... connected. # Checking databases db_phpgrid_sampledb and db_phpgrid_sampledb_copy on server1 # # WARNING: Cannot generate SQL statements for these objects. # Check the difference output for other discrepencies. --- `db_phpgrid_sampledb` +++ `db_phpgrid_sampledb_copy` @@ -1 +1 @@ -CREATE DATABASE `db_phpgrid_sampledb` /*!40100 DEFAULT CHARACTER SET utf8 */ +CREATE DATABASE `db_phpgrid_sampledb_copy` /*!40100 DEFAULT CHARACTER SET utf8 */ # WARNING: Could not generate changes for {0}. No changes required or not supported difference. # WARNING: Cannot generate SQL statements for these objects. # Check the difference output for other discrepencies. --- `db_phpgrid_sampledb` +++ `db_phpgrid_sampledb_copy` @@ -1 +1 @@ -CREATE DATABASE `db_phpgrid_sampledb` /*!40100 DEFAULT CHARACTER SET utf8 */ +CREATE DATABASE `db_phpgrid_sampledb_copy` /*!40100 DEFAULT CHARACTER SET utf8 */ # Defn Row Data # Type Object Name Diff Count Check # ------------------------------------------------------------------------- # TABLE customers pass pass FAIL # # Transformation for --changes-for=server1: # # Data differences found among rows: UPDATE `db_phpgrid_sampledb`.`customers` SET `customerName` = 'my Signal Gift Stores' WHERE `customerNumber` = '112'; UPDATE `db_phpgrid_sampledb`.`customers` SET `customerName` = 'my Atelier graphique' WHERE `customerNumber` = '103'; # TABLE employees pass pass pass # TABLE joborders pass pass pass # TABLE offices pass pass pass # TABLE orderdetails pass pass pass # TABLE orders pass pass pass # TABLE payments pass pass pass # TABLE productlines pass pass pass # TABLE productparts pass pass pass # TABLE products pass pass pass # TABLE shippers pass pass pass # TABLE supplierproductlines pass pass pass # TABLE suppliers pass pass pass # Database consistency check failed. # # ...done
Ultima modifica di biagiopas; 08-01-2014 a 17:14
semplicità ... al sol nominarla sembra svanire