Add options for Flyway to have its own DataSource
Either set flyway.[url,user,password] or create a DataSource @Bean and mark it @FlywayDataSource. Fixes gh-807
This commit is contained in:
@@ -203,6 +203,9 @@ content into your application; rather pick only the properties that you need.
|
||||
flyway.prefix=V
|
||||
flyway.suffix=.sql
|
||||
flyway.enabled=true
|
||||
flyway.url= # JDBC url if you want Flyway to create its own DataSource
|
||||
flyway.user= # JDBC username if you want Flyway to create its own DataSource
|
||||
flyway.password= # JDBC password if you want Flyway to create its own DataSource
|
||||
|
||||
# LIQUIBASE ({sc-spring-boot-autoconfigure}/liquibase/LiquibaseProperties.{sc-ext}[LiquibaseProperties])
|
||||
liquibase.change-log=classpath:/db/changelog/db.changelog-master.yaml
|
||||
|
||||
@@ -974,13 +974,13 @@ JDBC or JPA (then that one will be picked up by any `@Autowired` injections).
|
||||
@Primary
|
||||
@ConfigurationProperties(prefix="datasource.primary")
|
||||
public DataSource primaryDataSource() {
|
||||
return new FancyDataSource();
|
||||
return DataSourceBuilder.create().build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConfigurationProperties(prefix="datasource.secondary")
|
||||
public DataSource secondaryDataSource() {
|
||||
return new FancyDataSource();
|
||||
return DataSourceBuilder.create().build();
|
||||
}
|
||||
----
|
||||
|
||||
@@ -1207,6 +1207,13 @@ addition Spring Boot provides a small set of properties in
|
||||
{sc-spring-boot-autoconfigure}/flyway/FlywayProperties.{sc-ext}[`FlywayProperties`]
|
||||
that can be used to disable the migrations, or switch off the location checking.
|
||||
|
||||
By default Flyway will autowire the (`@Primary`) `DataSource` in your context and
|
||||
use that for migrations. If you like to use a different `DataSource` you can create
|
||||
one and mark its `@Bean` as `@FlywayDataSource` - if you do that remember to create
|
||||
another one and mark it as `@Primary` if you want 2 data sources.
|
||||
Or you can use Flyway's native `DataSource` by setting `flyway.[url,user,password]`
|
||||
in external properties.
|
||||
|
||||
There is a {github-code}/spring-boot-samples/spring-boot-sample-flyway[Flyway sample] so
|
||||
you can see how to set things up.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user