First I would just like to say what a great tool liquibase is. Seems to have so much functionality, and looks like it will do exactly what we want.
I am having a small issue with the hibernate integration. I noticed that you split the hibernate aspect of liquibase into separate extension jar file in v2. I guess the documentation is a little out of date. Anyway having downloaded that, I now get a little further. The output I now get is
D:\apps\liquibase-2.0.1-bin>java -jar liquibase.jar --logLevel=debug diff
DEBUG 14/02/11 12:46:liquibase: Unable to load/access Apache Derby driver class
org.apache.derby.tools.sysinfo to check version: org.apache.derby.tools.sysinfo
DEBUG 14/02/11 12:46:liquibase: Connected to XTS_CHRIS@jdbc:oracle:thin:@asus4:1
521:XE
WARNING 14/02/11 12:46:liquibase: Unknown database: Hibernate
DEBUG 14/02/11 12:46:liquibase: Reading tables for unsupported Database …
INFO 14/02/11 12:46:liquibase: Reading tables for unsupported Database …
Liquibase Update Failed: Unknown Reason
SEVERE 14/02/11 12:46:liquibase: Unknown Reason
java.lang.NullPointerException
at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.readTables(JdbcD
atabaseSnapshotGenerator.java:268)
at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.createSnapshot(J
dbcDatabaseSnapshotGenerator.java:240)
at liquibase.snapshot.DatabaseSnapshotGeneratorFactory.createSnapshot(Da
tabaseSnapshotGeneratorFactory.java:69)
at liquibase.diff.Diff.compare(Diff.java:63)
at liquibase.integration.commandline.CommandLineUtils.doDiff(CommandLine
Utils.java:118)
at liquibase.integration.commandline.Main.doMigration(Main.java:618)
at liquibase.integration.commandline.Main.main(Main.java:116)
Looking into the source code, I am a little confused. liquibase.ext.hibernate.database.HibernateDatabase.getConnection always returns null. liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.createSnapshot obtains a DatabaseMetaData and then passes to readTables. My take on the getMetaData method is that it will always return null, hence fail for a hibernate driver. So it appears to me that something must have changed in this area, or I am doing something wrong.
I’d love to hear you opinion on this
Thanks
Chris