create_database.sh: support different charset and collate settings for database creation.
This commit is contained in:
parent
aef387faad
commit
c21a135b39
@ -22,6 +22,8 @@ DATABASE_PASSWD_NEEDED=true
|
||||
QUIET_MODE=false
|
||||
NON_INTERACTIVE_MODE=false
|
||||
|
||||
DATABASE_CHARACTER_SET=utf8mb4
|
||||
|
||||
|
||||
# -------------
|
||||
# --- Some functions
|
||||
@ -476,6 +478,70 @@ if ! $NON_INTERACTIVE_MODE ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# - Set character-set for database
|
||||
# -
|
||||
echo ""
|
||||
echo -e "\033[32m--\033[m"
|
||||
echo ""
|
||||
echo "Insert character_set for Database '${DATABASE_NAME}'.."
|
||||
echo ""
|
||||
echo " possible values are"
|
||||
echo " utf8mb4"
|
||||
echo " utf8"
|
||||
echo ""
|
||||
if [ -z "$DATABASE_CHARACTER_SET" ]; then
|
||||
echononl "Database user for database '${DATABASE_NAME}': "
|
||||
read DATABASE_CHARACTER_SET
|
||||
while [ "X$DATABASE_CHARACTER_SET" = "X" ] ; do
|
||||
echo -e "\n\t\033[33m\033[1mEingabe erforderlich.\033[m\n"
|
||||
echononl "Database user for database '${DATABASE_NAME}': "
|
||||
read DATABASE_CHARACTER_SET
|
||||
done
|
||||
else
|
||||
_DATABASE_CHARACTER_SET="$DATABASE_CHARACTER_SET"
|
||||
echononl "Database user for database '${DATABASE_NAME}' [${_DATABASE_CHARACTER_SET}]: "
|
||||
read DATABASE_CHARACTER_SET
|
||||
if [[ "X$DATABASE_CHARACTER_SET" = "X" ]]; then
|
||||
DATABASE_CHARACTER_SET=$_DATABASE_CHARACTER_SET
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${DATABASE_CHARACTER_SET}" = "utf8mb4" ]]; then
|
||||
DATABASE_COLLATION="utf8mb4_unicode_ci"
|
||||
else
|
||||
DATABASE_COLLATION="utf8_bin"
|
||||
fi
|
||||
|
||||
# - Set collation for databae
|
||||
# -
|
||||
echo ""
|
||||
echo -e "\033[32m--\033[m"
|
||||
echo ""
|
||||
echo "Insert collation for Database '${DATABASE_NAME}'.."
|
||||
echo ""
|
||||
echo " possible values are"
|
||||
echo " utf8mb4_unicode_ci"
|
||||
echo " utf8mb4_bin"
|
||||
echo " utf8_bin"
|
||||
echo ""
|
||||
if [ -z "$DATABASE_COLLATION" ]; then
|
||||
echononl "Database user for database '${DATABASE_NAME}': "
|
||||
read DATABASE_COLLATION
|
||||
while [ "X$DATABASE_COLLATION" = "X" ] ; do
|
||||
echo -e "\n\t\033[33m\033[1mEingabe erforderlich.\033[m\n"
|
||||
echononl "Database user for database '${DATABASE_NAME}': "
|
||||
read DATABASE_COLLATION
|
||||
done
|
||||
else
|
||||
_DATABASE_COLLATION="$DATABASE_COLLATION"
|
||||
echononl "Database user for database '${DATABASE_NAME}' [${_DATABASE_COLLATION}]: "
|
||||
read DATABASE_COLLATION
|
||||
if [[ "X$DATABASE_COLLATION" = "X" ]]; then
|
||||
DATABASE_COLLATION=$_DATABASE_COLLATION
|
||||
fi
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "\033[32m--\033[m"
|
||||
echo ""
|
||||
@ -598,6 +664,9 @@ if ! $QUIET_MODE ; then
|
||||
echo " Database user................: $DATABASE_USER"
|
||||
echo " Database password............: $DATABASE_PASSWD"
|
||||
echo ""
|
||||
echo " Database character-set.......: $DATABASE_CHARACTER_SET"
|
||||
echo " Database collation...........: $DATABASE_COLLATION"
|
||||
echo ""
|
||||
if $ACCESS_FROM_OUTSIDE ; then
|
||||
echo " Access from outside..........: $IP_ADDRESSES"
|
||||
else
|
||||
@ -640,9 +709,9 @@ if [[ "$_result" = "$DATABASE_NAME" ]] ; then
|
||||
fatal "Database '$DATABASE_NAME' already exists"
|
||||
fi
|
||||
|
||||
echononl " Create database \033[1m$DATABASE_NAME\033[m (full UTF-8 support - utf8mb4)"
|
||||
echononl " Create database \033[1m$DATABASE_NAME\033[m (full UTF-8 support - ${DATABASE_CHARACTER_SET})"
|
||||
mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
|
||||
"CREATE DATABASE $DATABASE_NAME CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" > $tmp_log_file 2>&1
|
||||
"CREATE DATABASE $DATABASE_NAME CHARACTER SET ${DATABASE_CHARACTER_SET} COLLATE ${DATABASE_COLLATION}" > $tmp_log_file 2>&1
|
||||
if [[ $? -ne 0 ]] ; then
|
||||
echo_failed
|
||||
error "$(cat $tmp_log_file)"
|
||||
|
Loading…
Reference in New Issue
Block a user