Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pass liquibase parameters to gradle liquibase 'update' task

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

like image 945
Amit Patil Avatar asked May 15 '18 09:05

Amit Patil


1 Answers

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
like image 58
SteveDonie Avatar answered Nov 07 '22 15:11

SteveDonie