ORA-01882: регион часового пояса не найден в плагине Liquibase Gradle - PullRequest
0 голосов
/ 27 февраля 2019

В нашем проекте мы используем плагин Graqu Liquibase.Недавно мы обновили плагин ojdbc8 до версии 18.3.0.0.К сожалению, это привело к сбою задачи Liquibase с ORA-01882: регион часового пояса не найден.Я нашел несколько решений для этой ошибки (например, там: ORA-01882: регион часового пояса не найден ), но я понятия не имею, как я мог бы добавить это свойство -Duser.timezone или -Doracle.jdbc.timezoneAsRegion кЗадача Gradle.Я пробовал разные подходы, но безуспешно.

Вот как выглядят некоторые важные части нашего build.gradle:

liquibase {
    activities {
        oracle {
            changeLogFile "$liquibasePath/db.changelog-master.xml"
            driver liquibaseProps['oracle.driver']
            url "jdbc:oracle:thin:@${liquibaseProps['oracle.ip.port']}:${liquibaseProps['oracle.schema']}"
            username liquibaseProps['oracle.username']
            password liquibaseProps['oracle.password']
            outputDefaultSchema false
            outputDefaultCatalog false
        }
    }
}


def generate(taskName, taskDescription, generateCommand) {
    project.task(taskName, type: LiquibaseTask) {
        group = 'Liquibase'
        description = taskDescription

        inputs.property('databases', getRunList())
        inputs.dir liquibasePath
        outputs.dir sqlScriptsPath


        doLast {
            new LiquibaseSqlCleanupTask(sqlScriptsPath).execute()
        }
    }
}

1 Ответ

0 голосов
/ 27 февраля 2019

Вам нужно установить это как системное свойство при запуске gradle.Документы для этого находятся на https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_system_properties,, но вот копия / вставка наиболее важной информации:

Используя параметр командной строки -D, вы можете передать системное свойствоJVM, которая управляет Gradle.Параметр -D команды gradle имеет тот же эффект, что и параметр -D команды java.

Вы также можете установить системные свойства в файлах gradle.properties с префиксом systemProp.

Таким образом, вы можете создать файл gradle.properties в корневом каталоге вашего проекта с таким содержимым:

systemProp.oracle.jdbc.timezoneAsRegion=false
...