problem applying changelog to hsqldb in-process db during test

Using liquibase-core:1.9.5

    Class.forName("org.hsqldb.jdbcDriver"); DataSource dataSource = new DriverManagerDataSource("jdbc:hsqldb:mem:test", "SA", "");
    Database database = DatabaseFactory.getInstance().findCorrectDatabaseImplementation(dataSource.getConnection());
    Liquibase liquibase = new Liquibase("test-changelog.xml", new FileSystemFileOpener(), database);

does not work.  I will get an error creating the liquibase changelog tracking tables (appears to be trying to create DATABASECHANGELOG table twice).  Any work around?


It seems like it should work that way.  If you create the tables before doing the update, that may help.  I remember seeing that issue at one point, but thought it had been resolved (and/or only applied to the updateSQL command).

You should be able to just call liquibase.checkDatabaseChangeLogTable() before calling update()