Liquibase and SolidDB

Hello, I am relatively new to Liquibase. I created several changelogs for PostgreSQL and they are working very nicely.

Next I tried to apply the same changes to IBM SolidDB. 

I realise that SolidDB is not on the list of supported databases, and was expecting to have to supply a custom “getCurrentDateTime” function, but liquibase fails at an earlier stage with several of these INFOs followed by the ERROR


WARNING 08/11/13 15:51:liquibase: Unknown database: IBM solidDB

INFO 08/11/13 15:51:liquibase: Error getting default schema

liquibase.exception.DatabaseException: java.sql.SQLException: [Solid JDBC 7.0.0.0 Build 2011-10-14] SOLID Procedure Error 23005: Procedure ‘CURRENT_SCHEMA’ not found

at liquibase.Liquibase.(Liquibase.java:85)


2013-11-08 15:51:05,124 ERROR [main] com.vaisala.jx.cli.CliApplication [CliApplication.java : 471] - Exception occurred when calling life-cycle methods. 

java.lang.RuntimeException: liquibase.exception.LockException: liquibase.exception.UnexpectedLiquibaseException: liquibase.snapshot.InvalidExampleException: Found multiple catalog/schemas matching null.null


What is the sensible next step for me, do I need to develop a custom liquibase driver for SolidDB?

To add support for a new database, there is often more that needs to be done than just specifying the getCurrentTimeFunction. In particular, you are running into the case where liquibase needs to check the existing tables to create the databasechangelog/databasechangeloglock tables as needed.


What you need to do is create a liquibase extension to work with SolidDB. You can look at the source for some extensions here https://github.com/liquibase/liquibase-hanadb


It should hopefully not be too difficult to add solidDB support.


Nathan