Pass liquibase parameters to gradle liquibase 'update' task
Asked Answered
A

1

8

I want to pass username, password and url liquibase parameters as a command line parameters to gradle's liquibase update task.

I have followed liquibase-gradle-plugin to configure the plugin. What I actually want to achieve is, pass these database parameters at runtime instead of hardcoding them in liquibase.properties file.

I can do this by exporting these three values as environment variables and access them in build.gradle. But I want to achieve this using commandline parameters.

I tried

gradle update --url=jdbc:postgresql://localhost:5432/liquibase_cmd_test --username=### --password=### -PrunList=main

but it gives error as

Unknown command-line option '--url'.

Arther answered 15/5, 2018 at 9:58 Comment(0)
F
11

I think that underneath gradle is Java, so you should be able to do something like this. The -D argument sets a system property.

gradle -Dliquibase.url=<your url> -Dliquibase.username=<username> -Dliquibase.password=<password> update -PrunList=main
Fallonfallout answered 15/5, 2018 at 14:20 Comment(1)
@SteveDonie: :) I upvoted to give you credits! There should be a mechanism that hides answers to users with less than 100 reps and forces them to read on how SO works before the answer/solution is provided! Don't you think? :)Daw

© 2022 - 2024 — McMap. All rights reserved.