Передать параметры в конфигурацию подключаемого модуля Liquibase в IntelliJ IDEA - PullRequest
0 голосов
/ 07 апреля 2020

Мой текущий проект Spring Boot настроен с Gradle и плагином Liquibase Gradle.

У нас есть несколько странная реализация миграции баз данных, начиная с задачи, которая запускает приложение Spring Boot, которое читает нашу сущность моделирует и записывает их в «текущую схему» в базе данных, а затем выполняет сравнение с реальной схемой для создания журналов изменений.

Я хочу настроить плагин таким образом, чтобы я мог создать IntelliJ IDEA запустить конфигурацию, которая передает учетные данные базы данных в задачу.

Из build.grade:

task createCurrentSchema(type: BootRunTask) {
    doFirst() {
        main = 'com.application.util.migration.CreateCurrentSchemaApplication'
        classpath = sourceSets.main.runtimeClasspath
    }
}

liquibase {
    activities {
        main {
            changeLogFile 'path/to/db.changelog-current.xml'
            url 'db:protocol://host:post/actual_db_name'
            username <get from args>
            password <get from args>
            referenceUrl 'db:protocol://host:port/current_schema_db_name'
            referenceUsername <get from args>
            referencePassword <get from args>
        }
    }
}

Я уже пробовал различные подходы:

  • Передача учетных данных в качестве параметров виртуальной машины
    • -Dspring.datasource.password
    • -Dliquibase.password
    • -Dpassword
  • Передать учетные данные в качестве аргументов
    • -Pspring.datasource.password
    • -Ppassword
    • -PliquibasePassword
  • Загрузка данных из файла конфигурации

Нет эти подходы работают.

Я проверил существующие * 10 45 * вопросов , связанных с моей проблемой в топиках c плагина Liquibase Gradle.

Поскольку задача запускает приложение Spring Boot, я мог запустить его с подключил отладчик в IntelliJ IDEA и заметил, что no аргументы не передаются вообще, независимо от того, как я настраиваю конфигурацию запуска.

Пожалуйста, скажите мне, что я делаю неправильно.

...