Add import, clone commands

Fix dump and connect commands
This commit is contained in:
Loïc Guitaut
2015-09-14 17:09:08 +02:00
parent 7988e03c0e
commit d8b13298b7
5 changed files with 98 additions and 10 deletions

View File

@@ -115,15 +115,20 @@ case "$1" in
SERVICE_NAME="$(get_service_name "$SERVICE")"
PASSWORD=$(cat "$SERVICE_ROOT/PASSWORD")
docker exec "$SERVICE_NAME" mysqldump --host=localhost --user=mysql --password="$PASSWORD" --databases "$SERVICE"
docker exec "$SERVICE_NAME" mysqldump --user=mysql --password="$PASSWORD" "$SERVICE"
;;
$PLUGIN_COMMAND_PREFIX:import)
[[ -z $2 ]] && dokku_log_fail "Please specify a name for the service"
verify_service_name "$2"
SERVICE="$2"
SERVICE="$2"; SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
SERVICE_NAME="$(get_service_name "$SERVICE")"
PASSWORD=$(cat "$SERVICE_ROOT/PASSWORD")
dokku_log_fail "Not yet implemented"
if [[ -t 0 ]]; then
dokku_log_fail "No data provided on stdin."
fi
docker exec -i "$SERVICE_NAME" mysql --user=mysql --password="$PASSWORD" "$SERVICE"
;;
$PLUGIN_COMMAND_PREFIX:logs)
@@ -159,7 +164,7 @@ case "$1" in
SERVICE_NAME="$(get_service_name "$SERVICE")"
PASSWORD=$(cat "$SERVICE_ROOT/PASSWORD")
docker exec -it "$SERVICE_NAME" mysql --host=localhost --user=mysql --password="$PASSWORD" --database="$SERVICE"
docker exec -it "$SERVICE_NAME" mysql --user=mysql --password="$PASSWORD" --database="$SERVICE"
;;
$PLUGIN_COMMAND_PREFIX:info)
@@ -174,10 +179,14 @@ case "$1" in
$PLUGIN_COMMAND_PREFIX:clone)
[[ -z $2 ]] && dokku_log_fail "Please specify a name for the service"
[[ -z $3 ]] && dokku_log_fail "Please specify a name for the new service"
verify_service_name "$2"
SERVICE="$2"
dokku_log_fail "Not yet implemented"
NEW_SERVICE="$3"
dokku "$PLUGIN_COMMAND_PREFIX:create" "$NEW_SERVICE"
dokku_log_info1 "Copying data from $SERVICE to $NEW_SERVICE"
dokku "$PLUGIN_COMMAND_PREFIX:export" "$SERVICE" | dokku "$PLUGIN_COMMAND_PREFIX:import" "$NEW_SERVICE" > /dev/null 2>&1 || true
dokku_log_info1 "Done"
;;
$PLUGIN_COMMAND_PREFIX:expose)
@@ -200,13 +209,13 @@ case "$1" in
$PLUGIN_COMMAND_PREFIX:link <name> <app>, Link the $PLUGIN_SERVICE service to the app
$PLUGIN_COMMAND_PREFIX:unlink <name> <app>, Unlink the $PLUGIN_SERVICE service from the app
$PLUGIN_COMMAND_PREFIX:export <name>, Export a dump of the $PLUGIN_SERVICE service database
$PLUGIN_COMMAND_PREFIX:import <name> <file>, NOT IMPLEMENTED
$PLUGIN_COMMAND_PREFIX:import <name> < <file>, Import a dump into the $PLUGIN_SERVICE service database
$PLUGIN_COMMAND_PREFIX:connect <name>, Connect via mysql to a $PLUGIN_SERVICE service
$PLUGIN_COMMAND_PREFIX:logs <name> [-t], Print the most recent log(s) for this service
$PLUGIN_COMMAND_PREFIX:restart <name>, Graceful shutdown and restart of the $PLUGIN_SERVICE service container
$PLUGIN_COMMAND_PREFIX:info <name>, Print the connection information
$PLUGIN_COMMAND_PREFIX:list, List all $PLUGIN_SERVICE services
$PLUGIN_COMMAND_PREFIX:clone <name> <new-name>, NOT IMPLEMENTED
$PLUGIN_COMMAND_PREFIX:clone <name> <new-name>, Create container <new-name> then copy data from <name> into <new-name>
$PLUGIN_COMMAND_PREFIX:expose <name> [port], Expose a $PLUGIN_SERVICE service on custom port if provided (random port otherwise)
$PLUGIN_COMMAND_PREFIX:unexpose <name>, Unexpose a previously exposed $PLUGIN_SERVICE service
$PLUGIN_COMMAND_PREFIX:start <name>, Start a previously stopped $PLUGIN_SERVICE service