package com.hubspot.blazar.test.base.service;
import java.sql.Connection;
import javax.sql.DataSource;
import liquibase.Contexts;
import liquibase.Liquibase;
import liquibase.database.jvm.JdbcConnection;
import liquibase.ext.logging.slf4j.Slf4jLogger;
import liquibase.logging.LogFactory;
import liquibase.logging.Logger;
import liquibase.resource.ClassLoaderResourceAccessor;
import liquibase.resource.ResourceAccessor;
public abstract class BlazarTestBase {
public static void runSql(DataSource dataSource, String resourceName) throws Exception {
liquibase.logging.LogFactory.setInstance(new LogFactory() {
@Override
public Logger getLog(String name) {
liquibase.logging.Logger log = new Slf4jLogger();
log.setName(name);
return log;
}
});
try (Connection connection = dataSource.getConnection()) {
ResourceAccessor resourceAccessor = new ClassLoaderResourceAccessor();
JdbcConnection jdbcConnection = new JdbcConnection(connection);
Liquibase liquibase = new Liquibase(resourceName, resourceAccessor, jdbcConnection);
liquibase.update(new Contexts());
}
}
}