Spring Boot 1.4:Liquibase完成后执行方法

时间:2016-08-08 09:32:20

标签: java spring spring-boot liquibase

我有一个使用Liquibase的基于Spring Boot 1.4.0的项目。

是否可以在liquibase完成后执行方法?

像Bean Post Processor这样的东西?

我想要做的是在应用程序以开发模式启动时向我的数据库添加一些数据。在开发模式下,应用程序使用内存中的h2数据库,因此liquibase必须在我可以编写数据之前创建表。

2 个答案:

答案 0 :(得分:12)

Spring Boot自动配置名为SpringLiquibase的{​​{1}} bean。在Liquibase完成之后,将创建依赖于此bean的任何bean。例如,您可以使用liquibase填充数据库:

@PostConstruct

答案 1 :(得分:2)

另一个解决方案是让LiquiBase将这些内容插入到您的数据库中 - 但仅限于在dev模式下运行。

您可以通过指定context=""属性在LiquiBase中执行此操作。

另一种选择是让LiquiBase仅在dbms="h2db"时将此测试数据插入到您的数据库中(忘记选择h2的确切字符串,请查看文档!)

两者都是变更集的属性。

对于这种情况,这是我自己的首选解决方案。