如何解决在Tomcat下运行liquibase?
一个人如何启动liquibase模式数据库按计划在Tomcat下的基线上进行检查?像如何在Tomcat下部署liquibase?
解决方法
如何利用ServletContextListener
并在其中创建新对象
Liquibase。
类似
import java.sql.Connection;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import liquibase.Liquibase;
import liquibase.database.Database;
import liquibase.database.DatabaseFactory;
import liquibase.database.jvm.JdbcConnection;
import liquibase.resource.ClassLoaderResourceAccessor;
import liquibase.resource.CompositeResourceAccessor;
import liquibase.resource.FileSystemResourceAccessor;
import lombok.SneakyThrows;
@WebListener
public class LiquibaseListener implements ServletContextListener {
@SneakyThrows
@Override
public void contextInitialized(ServletContextEvent sce) {
final Connection connection = null;
final Database database = DatabaseFactory.getInstance().findCorrectDatabaseImplementation(new JdbcConnection(connection));
final Liquibase liquibase = new Liquibase("changelogpath",new CompositeResourceAccessor(new ClassLoaderResourceAccessor(),new FileSystemResourceAccessor()),database);
liquibase.update("");
}
}
或者在SpringLiquibase里面查看一下Spring框架是如何完成的,您可以从中得到启发。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。