Проверьте "spring.jpa.hibernate.ddl-auto" во время запуска Springboot - PullRequest
0 голосов
/ 04 июня 2018

Есть ли способ проверить свойство "spring.jpa.hibernate.ddl-auto" во время запуска приложения, чтобы убедиться, что для него установлено только значение none?Я хочу заставить все развертывания (включая dev) использовать liquibase.

Редактировать: - Я также должен убедиться, что это свойство не случайно установлено в производстве, что может стереть данные.

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Вы можете подключиться к запуску приложения, внедрив класс ApplicationListener<ContextRefreshedEvent>, например:

@Component
public class YourListner implements ApplicationListener<ContextRefreshedEvent> {

    @Value("${spring.jpa.properties.hibernate.ddl-auto}")
    private String hibernateDdlAuto;


    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {

        if (!"none".equalsIgnoreCase(hibernateDdlAuto))
            throw new MyValidationException();

    }
}

Более того, вы даже можете сделать его более подробным, зарегистрировав свой FailureAnalyzer.

0 голосов
/ 04 июня 2018

Рекомендуется сохранить универсальный файл application.properties/yml и установить в нем свойство (spring.jpa.hibernate.ddl-auto).После этого сохраните отдельный файл property / yml (application_*.properties/yml), который по умолчанию извлекает свойства из файла application.properties/yml.Также вы можете поддерживать другие «общие» свойства в родительском файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...