I have a Spring Boot 1.4.0 based Project that uses Liquibase.
Is it possible to execute a Method AFTER liquibase finished?
Something like Bean Post Processor?
What i want to do is adding some data to my database when the application is started in development mode. In developement mode the application uses an in-memory h2 database, so liquibase has to create the tables before i can write my data.
Another solution would be to let LiquiBase insert these things into your database - but only when running in dev-mode.
You can do this in LiquiBase by specifying a
context=""
attribute.Another option would be to let LiquiBase only insert this test-data into your database when
dbms="h2db"
(forgot what the exact string is to select h2, check documentation please!)Both are attributes on changesets.
This is my own preferred solution for this kind of scenarios.
Spring Boot auto-configures a
SpringLiquibase
bean namedliquibase
. Any bean that depends on this bean will be created after Liquibase has finished. For example, you could use@PostConstruct
to populate the database: