Hello, in a previous posting on this same topic I got very good instructions about a similar migration from MySQL to SQL Server. The generateChangeLog DB snapshot worked by my brief inspection of the very large (1.7 MB) db.changelog.xml file output from the liquibase commandline (see included below).
The snapshot is very nice but ultimately what I need is not just migration but I need to refactor for the target database (MySQL). Briefly, the source DB (SQL Server) is a 800+ table and view denormalized nightmare. What are my options?:
- hand edit the db.changelog.xml (would take a few weeks @ fulltime).
- RTFM for special parameters to constrain the db.changelog.xml file to just those tables and columns desired?
- Implement known methods on how to integrate refactoring with the migration in parallel. SQL Server --> MySQL (tablename changes, column-name changes, datatype changes, schema changes).
liquibase commandline: liquibase --changeLogFile=com/sexingtechnologies/bullseye/db.changelog.xml generateChangeLog
liquibase.properties:
#liquibase.properties
driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
classpath: …/liquibase/lib/sqljdbc4.jar
url: jdbc:sqlserver://10.1.0.252:6403;DatabaseName=stprod
username: sa
password:
liquibase generateChangeLog errors:
david@sex-cess:~/dev/st/elblanco_prod$ liquibase --changeLogFile=com/sexingtechnologies/bullseye/db.changelog.xml generateChangeLog
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.database.core.HibernateDatabase: Missing dependency org/hibernate/cfg/Configuration
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.database.core.HibernateGenericDialect: Missing dependency org/hibernate/dialect/Dialect
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.snapshot.core.HibernateDatabaseSnapshotGenerator: Missing dependency org/hibernate/dialect/Dialect
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.database.core.HibernateDatabase: Missing dependency org/hibernate/cfg/Configuration
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.database.core.HibernateGenericDialect: Missing dependency org/hibernate/dialect/Dialect
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.snapshot.core.HibernateDatabaseSnapshotGenerator: Missing dependency org/hibernate/dialect/Dialect
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.database.core.HibernateDatabase: Missing dependency org/hibernate/cfg/Configuration
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.database.core.HibernateGenericDialect: Missing dependency org/hibernate/dialect/Dialect
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.snapshot.core.HibernateDatabaseSnapshotGenerator: Missing dependency org/hibernate/dialect/Dialect
INFO 4/27/10 10:56 AM:liquibase: Reading tables for sa @ jdbc:sqlserver://10.1.0.252:6403;xopenStates=false;trustServerCertificate=false;
sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;
lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=stprod;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
INFO 4/27/10 10:56 AM:liquibase: Reading views for sa @ jdbc:sqlserver://10.1.0.252:6403;xopenStates=false;trustServerCertificate=false;
sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;
lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=stprod;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.database.core.HibernateDatabase: Missing dependency org/hibernate/cfg/Configuration
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.database.core.HibernateGenericDialect: Missing dependency org/hibernate/dialect/Dialect
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.snapshot.core.HibernateDatabaseSnapshotGenerator: Missing dependency org/hibernate/dialect/Dialect
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.database.core.HibernateDatabase: Missing dependency org/hibernate/cfg/Configuration
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.database.core.HibernateGenericDialect: Missing dependency org/hibernate/dialect/Dialect
WARNING 4/27/10 10:56 AM:liquibase: Could not configure extension class liquibase.snapshot.core.HibernateDatabaseSnapshotGenerator: Missing dependency org/hibernate/dialect/Dialect
INFO 4/27/10 10:57 AM:liquibase: Reading foreign keys for sa @ jdbc:sqlserver://10.1.0.252:6403;xopenStates=false;trustServerCertificate=false;
sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;
encrypt=false;disableStatementPooling=true;databaseName=stprod;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
INFO 4/27/10 10:59 AM:liquibase: Reading primary keys for sa @ jdbc:sqlserver://10.1.0.252:6403;xopenStates=false;
trustServerCertificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;
loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=stprod;
applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …