diff --git a/README.md b/README.md index 44e80d8..ad40802 100644 --- a/README.md +++ b/README.md @@ -133,26 +133,26 @@ dokku mysql:destroy lolipop ## Changing database adapter It's possible to change the protocol for DATABASE_URL by setting -the environment variable DATABASE_SCHEME on the app: +the environment variable MYSQL_DATABASE_SCHEME on the app: ``` -dokku config:set playground DATABASE_SCHEME=mysql2 +dokku config:set playground MYSQL_DATABASE_SCHEME=mysql2 dokku mysql:link lolipop playground ``` Will cause DATABASE_URL to be set as mysql2://mysql:SOME_PASSWORD@dokku-mysql-lolipop:3306/lolipop -CAUTION: Changing DATABASE_SCHEME after linking will cause dokku to believe -the service is not linked when attempting to use `dokku mysql:unlink` or -`dokku mysql:promote`. +CAUTION: Changing MYSQL_DATABASE_SCHEME after linking will cause dokku to +believe the service is not linked when attempting to use `dokku mysql:unlink` +or `dokku mysql:promote`. You should be able to fix this by - Changing DATABASE_URL manually to the new value. OR -- Set DATABASE_SCHEME back to its original setting +- Set MYSQL_DATABASE_SCHEME back to its original setting - Unlink the service -- Change DATABASE_SCHEME to the desired setting +- Change MYSQL_DATABASE_SCHEME to the desired setting - Relink the service diff --git a/functions b/functions index ce1d6fa..5e003df 100755 --- a/functions +++ b/functions @@ -357,6 +357,6 @@ service_linked_apps() { update_plugin_scheme_for_app() { local APP=$1 - local DATABASE_SCHEME=$(config_get $APP DATABASE_SCHEME) - PLUGIN_SCHEME=${DATABASE_SCHEME:-$PLUGIN_SCHEME} + local MYSQL_DATABASE_SCHEME=$(config_get $APP MYSQL_DATABASE_SCHEME) + PLUGIN_SCHEME=${MYSQL_DATABASE_SCHEME:-$PLUGIN_SCHEME} } diff --git a/tests/service_link.bats b/tests/service_link.bats index de1fc00..978fab3 100755 --- a/tests/service_link.bats +++ b/tests/service_link.bats @@ -60,8 +60,8 @@ teardown() { dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app } -@test "($PLUGIN_COMMAND_PREFIX:link) uses apps DATABASE_SCHEME variable" { - dokku config:set my_app DATABASE_SCHEME=mysql2 +@test "($PLUGIN_COMMAND_PREFIX:link) uses apps MYSQL_DATABASE_SCHEME variable" { + dokku config:set my_app MYSQL_DATABASE_SCHEME=mysql2 dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app url=$(dokku config:get my_app DATABASE_URL) password="$(cat "$PLUGIN_DATA_ROOT/l/PASSWORD")" diff --git a/tests/service_promote.bats b/tests/service_promote.bats index 94a3f13..9bd3f52 100755 --- a/tests/service_promote.bats +++ b/tests/service_promote.bats @@ -54,9 +54,9 @@ teardown() { assert_contains "${lines[*]}" "DOKKU_MYSQL_" } -@test "($PLUGIN_COMMAND_PREFIX:promote) uses DATABASE_SCHEME variable" { +@test "($PLUGIN_COMMAND_PREFIX:promote) uses MYSQL_DATABASE_SCHEME variable" { password="$(cat "$PLUGIN_DATA_ROOT/l/PASSWORD")" - dokku config:set my_app "DATABASE_SCHEME=mysql2" "DATABASE_URL=mysql://u:p@host:3306/db" "DOKKU_MYSQL_BLUE_URL=mysql2://mysql:$password@dokku-mysql-l:3306/l" + dokku config:set my_app "MYSQL_DATABASE_SCHEME=mysql2" "DATABASE_URL=mysql://u:p@host:3306/db" "DOKKU_MYSQL_BLUE_URL=mysql2://mysql:$password@dokku-mysql-l:3306/l" dokku "$PLUGIN_COMMAND_PREFIX:promote" l my_app url=$(dokku config:get my_app DATABASE_URL) assert_contains "$url" "mysql2://mysql:$password@dokku-mysql-l:3306/l"