6
votes

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'.

1

1 Answers

11
votes

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