使用Spring Boot和Liquibase进行数据库管理
import liquibase.integration.spring.SpringLiquibase;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import javax.sql.DataSource;
@Configuration
public class DatabaseConfiguration {
@Autowired private Environment env;
@Autowired private DataSource dataSource;
@Bean
public SpringLiquibase liquibase() {
SpringLiquibase liquibase = new SpringLiquibase();
liquibase.setDataSource(dataSource);
liquibase.setChangeLog("classpath:db/changelog/db.changelog-master.yaml");
liquibase.setContexts(env.getProperty("liquibase.contexts"));
liquibase.setDefaultSchema(env.getProperty("liquibase.schema"));
return liquibase;
}
}
这段代码定义了一个配置类,它使用Spring的@Configuration
注解来标识它为配置类。它使用@Bean
注解来声明一个SpringLiquibase
bean,该bean用于管理数据库迁移。代码中使用了@Autowired
来自动装配Environment
和DataSource
,这样可以让Liquibase使用Spring Boot配置文件中的属性。
评论已关闭