From 9768c48345e18b0b5a90b056d2f255beb117c036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 24 Feb 2023 15:27:50 +0100 Subject: [PATCH] cleaning --- scripts/_common.sh | 73 ++++++++++++++++++++++++++++++++ scripts/_ynh_mysql_connect_as.sh | 36 ---------------- scripts/_ynh_mysql_dump_db.sh | 37 ---------------- scripts/backup | 1 - scripts/install | 1 - scripts/restore | 1 - 6 files changed, 73 insertions(+), 76 deletions(-) delete mode 100644 scripts/_ynh_mysql_connect_as.sh delete mode 100644 scripts/_ynh_mysql_dump_db.sh diff --git a/scripts/_common.sh b/scripts/_common.sh index bdffd56..badf370 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -89,3 +89,76 @@ ynh_smart_mktemp () { #================================================= # FUTURE OFFICIAL HELPERS #================================================= + +# Open a connection as a user +# +# example: ynh_mysql_connect_as --user="user" --password="pass" <<< "UPDATE ...;" +# example: ynh_mysql_connect_as --user="user" --password="pass" --default_character_set="utf8mb4" < /path/to/file.sql +# +# usage: ynh_mysql_connect_as --user=user --password=password [--database=database] [--default_character_set=character-set] +# | arg: -u, --user= - the user name to connect as +# | arg: -p, --password= - the user password +# | arg: -d, --database= - the database to connect to +# | arg: -c, --default_character_set= - the charset to use +# +# Requires YunoHost version 2.2.4 or higher. +ynh_mysql_connect_as() { + # Declare an array to define the options of this helper. + local legacy_args=updc + local -A args_array=( [u]=user= [p]=password= [d]=database= [c]=default_character_set= ) + local user + local password + local database + local default_character_set + # Manage arguments with getopts + ynh_handle_getopts_args "$@" + database="${database:-}" + default_character_set="${default_character_set:-}" + + if [ -n "$default_character_set" ] + then + default_character_set="--default-character-set=$default_character_set" + else + default_character_set="--default-character-set=latin1" + fi + + mysql --user="$user" --password="$password" "$default_character_set" --batch "$database" +} + + + +# Dump a database +# +# example: ynh_mysql_dump_db --database=roundcube --default_character_set="utf8mb4" > ./dump.sql +# +# usage: ynh_mysql_dump_db --database=database +# | arg: -d, --database= - the database name to dump +# | arg: -c, --default_character_set= - the charset to use +# | ret: the mysqldump output +# +# Requires YunoHost version 2.2.4 or higher. +ynh_mysql_dump_db() { + # Declare an array to define the options of this helper. + local legacy_args=dc + local -A args_array=( [d]=database= [c]=default_character_set= ) + local database + local default_character_set + # Manage arguments with getopts + ynh_handle_getopts_args "$@" + default_character_set="${default_character_set:-}" + MYSQL_ROOT_PWD_FILE=/etc/yunohost/mysql + + if [ -n "$default_character_set" ] + then + default_character_set="--default-character-set=$default_character_set" + else + # By default, default character set is "latin1" + default_character_set="--default-character-set=latin1" + fi + + if [ -f "$MYSQL_ROOT_PWD_FILE" ]; then + mysqldump --user="root" --password="$(cat $MYSQL_ROOT_PWD_FILE)" --single-transaction --skip-dump-date "$default_character_set" "$database" + else + mysqldump --single-transaction --skip-dump-date "$default_character_set" "$database" + fi +} diff --git a/scripts/_ynh_mysql_connect_as.sh b/scripts/_ynh_mysql_connect_as.sh deleted file mode 100644 index a22963e..0000000 --- a/scripts/_ynh_mysql_connect_as.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -# Open a connection as a user -# -# example: ynh_mysql_connect_as --user="user" --password="pass" <<< "UPDATE ...;" -# example: ynh_mysql_connect_as --user="user" --password="pass" --default_character_set="utf8mb4" < /path/to/file.sql -# -# usage: ynh_mysql_connect_as --user=user --password=password [--database=database] [--default_character_set=character-set] -# | arg: -u, --user= - the user name to connect as -# | arg: -p, --password= - the user password -# | arg: -d, --database= - the database to connect to -# | arg: -c, --default_character_set= - the charset to use -# -# Requires YunoHost version 2.2.4 or higher. -ynh_mysql_connect_as() { - # Declare an array to define the options of this helper. - local legacy_args=updc - local -A args_array=( [u]=user= [p]=password= [d]=database= [c]=default_character_set= ) - local user - local password - local database - local default_character_set - # Manage arguments with getopts - ynh_handle_getopts_args "$@" - database="${database:-}" - default_character_set="${default_character_set:-}" - - if [ -n "$default_character_set" ] - then - default_character_set="--default-character-set=$default_character_set" - else - default_character_set="--default-character-set=latin1" - fi - - mysql --user="$user" --password="$password" "$default_character_set" --batch "$database" -} \ No newline at end of file diff --git a/scripts/_ynh_mysql_dump_db.sh b/scripts/_ynh_mysql_dump_db.sh deleted file mode 100644 index 3b922bb..0000000 --- a/scripts/_ynh_mysql_dump_db.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -# Dump a database -# -# example: ynh_mysql_dump_db --database=roundcube --default_character_set="utf8mb4" > ./dump.sql -# -# usage: ynh_mysql_dump_db --database=database -# | arg: -d, --database= - the database name to dump -# | arg: -c, --default_character_set= - the charset to use -# | ret: the mysqldump output -# -# Requires YunoHost version 2.2.4 or higher. -ynh_mysql_dump_db() { - # Declare an array to define the options of this helper. - local legacy_args=dc - local -A args_array=( [d]=database= [c]=default_character_set= ) - local database - local default_character_set - # Manage arguments with getopts - ynh_handle_getopts_args "$@" - default_character_set="${default_character_set:-}" - MYSQL_ROOT_PWD_FILE=/etc/yunohost/mysql - - if [ -n "$default_character_set" ] - then - default_character_set="--default-character-set=$default_character_set" - else - # By default, default character set is "latin1" - default_character_set="--default-character-set=latin1" - fi - - if [ -f "$MYSQL_ROOT_PWD_FILE" ]; then - mysqldump --user="root" --password="$(cat $MYSQL_ROOT_PWD_FILE)" --single-transaction --skip-dump-date "$default_character_set" "$database" - else - mysqldump --single-transaction --skip-dump-date "$default_character_set" "$database" - fi -} \ No newline at end of file diff --git a/scripts/backup b/scripts/backup index 6fd1086..dbbbfdd 100755 --- a/scripts/backup +++ b/scripts/backup @@ -8,7 +8,6 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers -source ../settings/scripts/_ynh_mysql_dump_db.sh #================================================= # MANAGE SCRIPT FAILURE diff --git a/scripts/install b/scripts/install index 19dcb67..d538bc6 100755 --- a/scripts/install +++ b/scripts/install @@ -8,7 +8,6 @@ source _common.sh source /usr/share/yunohost/helpers -source _ynh_mysql_connect_as.sh #================================================= # MANAGE SCRIPT FAILURE diff --git a/scripts/restore b/scripts/restore index 83c233f..980e3b0 100755 --- a/scripts/restore +++ b/scripts/restore @@ -8,7 +8,6 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers -source ../settings/scripts/_ynh_mysql_connect_as.sh #================================================= # MANAGE SCRIPT FAILURE