Change DATABASE_ADAPTER to DATABASE_SCHEME

This commit is contained in:
Peter West
2016-03-08 09:03:20 +00:00
parent ab7cc8c1a1
commit 90791f536a
4 changed files with 11 additions and 11 deletions

View File

@@ -133,17 +133,17 @@ dokku mysql:destroy lolipop
## Changing database adapter ## Changing database adapter
It's possible to change the protocol for DATABASE_URL by setting It's possible to change the protocol for DATABASE_URL by setting
the environment variable DATABASE_ADAPTER on the app: the environment variable DATABASE_SCHEME on the app:
``` ```
dokku config:set playground DATABASE_ADAPTER=mysql2 dokku config:set playground DATABASE_SCHEME=mysql2
dokku mysql:link lolipop playground dokku mysql:link lolipop playground
``` ```
Will cause DATABASE_URL to be set as Will cause DATABASE_URL to be set as
mysql2://mysql:SOME_PASSWORD@dokku-mysql-lolipop:3306/lolipop mysql2://mysql:SOME_PASSWORD@dokku-mysql-lolipop:3306/lolipop
CAUTION: Changing DATABASE_ADAPTER after linking will cause dokku to believe CAUTION: Changing DATABASE_SCHEME after linking will cause dokku to believe
the service is not linked when attempting to use `dokku mysql:unlink` or the service is not linked when attempting to use `dokku mysql:unlink` or
`dokku mysql:promote`. `dokku mysql:promote`.
You should be able to fix this by You should be able to fix this by
@@ -152,7 +152,7 @@ You should be able to fix this by
OR OR
- Set DATABASE_ADAPTER back to its original setting - Set DATABASE_SCHEME back to its original setting
- Unlink the service - Unlink the service
- Change DATABASE_ADAPTER to the desired setting - Change DATABASE_SCHEME to the desired setting
- Relink the service - Relink the service

View File

@@ -357,6 +357,6 @@ service_linked_apps() {
update_plugin_scheme_for_app() { update_plugin_scheme_for_app() {
local APP=$1 local APP=$1
local DATABASE_ADAPTER=$(config_get $APP DATABASE_ADAPTER) local DATABASE_SCHEME=$(config_get $APP DATABASE_SCHEME)
PLUGIN_SCHEME=${DATABASE_ADAPTER:-$PLUGIN_SCHEME} PLUGIN_SCHEME=${DATABASE_SCHEME:-$PLUGIN_SCHEME}
} }

View File

@@ -60,8 +60,8 @@ teardown() {
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app
} }
@test "($PLUGIN_COMMAND_PREFIX:link) uses apps DATABASE_ADAPTER variable" { @test "($PLUGIN_COMMAND_PREFIX:link) uses apps DATABASE_SCHEME variable" {
dokku config:set my_app DATABASE_ADAPTER=mysql2 dokku config:set my_app DATABASE_SCHEME=mysql2
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app
url=$(dokku config:get my_app DATABASE_URL) url=$(dokku config:get my_app DATABASE_URL)
password="$(cat "$PLUGIN_DATA_ROOT/l/PASSWORD")" password="$(cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"

View File

@@ -54,9 +54,9 @@ teardown() {
assert_contains "${lines[*]}" "DOKKU_MYSQL_" assert_contains "${lines[*]}" "DOKKU_MYSQL_"
} }
@test "($PLUGIN_COMMAND_PREFIX:promote) uses DATABASE_ADAPTER variable" { @test "($PLUGIN_COMMAND_PREFIX:promote) uses DATABASE_SCHEME variable" {
password="$(cat "$PLUGIN_DATA_ROOT/l/PASSWORD")" password="$(cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
dokku config:set my_app "DATABASE_ADAPTER=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 "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 dokku "$PLUGIN_COMMAND_PREFIX:promote" l my_app
url=$(dokku config:get my_app DATABASE_URL) url=$(dokku config:get my_app DATABASE_URL)
assert_contains "$url" "mysql2://mysql:$password@dokku-mysql-l:3306/l" assert_contains "$url" "mysql2://mysql:$password@dokku-mysql-l:3306/l"