create_database.sh: support different charset and collate settings for database creation.
This commit is contained in:
		| @@ -22,6 +22,8 @@ DATABASE_PASSWD_NEEDED=true | |||||||
| QUIET_MODE=false | QUIET_MODE=false | ||||||
| NON_INTERACTIVE_MODE=false | NON_INTERACTIVE_MODE=false | ||||||
|  |  | ||||||
|  | DATABASE_CHARACTER_SET=utf8mb4 | ||||||
|  |  | ||||||
|  |  | ||||||
| # ------------- | # ------------- | ||||||
| # --- Some functions | # --- Some functions | ||||||
| @@ -476,6 +478,70 @@ if ! $NON_INTERACTIVE_MODE ; then | |||||||
|       fi |       fi | ||||||
|    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 "" | ||||||
|    echo -e "\033[32m--\033[m" |    echo -e "\033[32m--\033[m" | ||||||
|    echo "" |    echo "" | ||||||
| @@ -598,6 +664,9 @@ if ! $QUIET_MODE ; then | |||||||
|    echo "   Database user................: $DATABASE_USER" |    echo "   Database user................: $DATABASE_USER" | ||||||
|    echo "   Database password............: $DATABASE_PASSWD" |    echo "   Database password............: $DATABASE_PASSWD" | ||||||
|    echo "" |    echo "" | ||||||
|  |    echo "   Database character-set.......: $DATABASE_CHARACTER_SET" | ||||||
|  |    echo "   Database collation...........: $DATABASE_COLLATION" | ||||||
|  |    echo "" | ||||||
|    if $ACCESS_FROM_OUTSIDE ; then |    if $ACCESS_FROM_OUTSIDE ; then | ||||||
|       echo "   Access from outside..........: $IP_ADDRESSES" |       echo "   Access from outside..........: $IP_ADDRESSES" | ||||||
|    else |    else | ||||||
| @@ -640,9 +709,9 @@ if [[ "$_result" = "$DATABASE_NAME" ]] ; then | |||||||
|    fatal "Database '$DATABASE_NAME' already exists" |    fatal "Database '$DATABASE_NAME' already exists" | ||||||
| fi | 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 \ | 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 | if [[ $? -ne 0 ]] ; then | ||||||
|    echo_failed |    echo_failed | ||||||
|    error "$(cat $tmp_log_file)" |    error "$(cat $tmp_log_file)" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user