From d78bca4468117894574a881420aa2b84dac8631b Mon Sep 17 00:00:00 2001 From: Gennadiy Anisimov Date: Fri, 26 May 2017 17:29:34 +0300 Subject: [PATCH] Fix: run flyway migration before initialization of 'security' bean. --- src/main/java/org/ohdsi/webapi/FlywayConfig.java | 10 ++++++++++ src/main/java/org/ohdsi/webapi/ShiroConfiguration.java | 2 ++ 2 files changed, 12 insertions(+) diff --git a/src/main/java/org/ohdsi/webapi/FlywayConfig.java b/src/main/java/org/ohdsi/webapi/FlywayConfig.java index ec13cc7141..6512ef3b80 100644 --- a/src/main/java/org/ohdsi/webapi/FlywayConfig.java +++ b/src/main/java/org/ohdsi/webapi/FlywayConfig.java @@ -1,6 +1,7 @@ package org.ohdsi.webapi; import javax.sql.DataSource; +import org.flywaydb.core.Flyway; import org.springframework.boot.autoconfigure.flyway.FlywayDataSource; import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder; @@ -21,4 +22,13 @@ public class FlywayConfig { public DataSource secondaryDataSource() { return DataSourceBuilder.create().build(); } + + @Bean(initMethod = "migrate", name = "flyway") + @ConfigurationProperties(prefix="flyway") + public Flyway flyway() { + Flyway flyway = new Flyway(); + flyway.setDataSource(secondaryDataSource()); + return flyway; + } + } diff --git a/src/main/java/org/ohdsi/webapi/ShiroConfiguration.java b/src/main/java/org/ohdsi/webapi/ShiroConfiguration.java index 0eb60e5ef4..3b16a55826 100644 --- a/src/main/java/org/ohdsi/webapi/ShiroConfiguration.java +++ b/src/main/java/org/ohdsi/webapi/ShiroConfiguration.java @@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.DependsOn; /** * Created by GMalikov on 20.08.2015. @@ -25,6 +26,7 @@ public class ShiroConfiguration { private boolean enabled; @Bean + @DependsOn("flyway") public Security security() { if (enabled) { log.debug("AtlasSecurity module loaded");