提交 fae60288 编写于 作者: Tyl666's avatar Tyl666

【Liquibase逆向工程】第三版 删除重复生成数据源方法

上级 6ebeeb65
......@@ -25,6 +25,7 @@ import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.liquibase.LiquibaseDataSource;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.DigestUtils;
......@@ -77,13 +78,13 @@ public class GenerateLiquibaseChangeLog{
private String dataDir;
@Resource
public LiquibaseGenerateConfiguration liquibaseGenerateConfiguration;
public LiquibaseConfiguration liquibaseConfiguration;
@SneakyThrows
public SysModel liquibaseGenerateChangeLog(LiquibaseProp liquibaseProp,String name){
// 根据指定数据源生成对象
String liquibaseChangeLogPath = getChangeLog();
SpringLiquibase springLiquibase = liquibaseGenerateConfiguration.masterliquibase(liquibaseProp);
SpringLiquibase springLiquibase = liquibaseConfiguration.masterliquibase(liquibaseProp);
Liquibase liquibase = createLiquibase(springLiquibase,liquibaseChangeLogPath);
Database database = liquibase.getDatabase();
......
package cn.ibizlab.core.util.config;
import cn.ibizlab.util.domain.LiquibaseProp;
import com.alibaba.druid.pool.DruidDataSource;
import liquibase.integration.spring.SpringLiquibase;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class LiquibaseGenerateConfiguration {
@Bean
public SpringLiquibase masterliquibase(LiquibaseProp masterProperties) {
return getLiquibase(masterProperties.getUsername(),masterProperties.getPassword(),masterProperties.getUrl(),masterProperties.getDefaultSchema());
}
public SpringLiquibase getLiquibase(String username, String password, String url, String defaultSchema) {
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setUsername(username);
druidDataSource.setPassword(password);
druidDataSource.setUrl(url);
SpringLiquibase liquibase = new SpringLiquibase();
liquibase.setDataSource(druidDataSource);
liquibase.setChangeLog("classpath:liquibase/empty.xml");
liquibase.setContexts("development,test,production");
liquibase.setShouldRun(true);
liquibase.setDefaultSchema(defaultSchema);
return liquibase;
}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册