Refactor code

This commit is contained in:
Semen Bezrukov 2019-10-22 11:53:02 +03:00
parent d1cf323d33
commit f780a8a826

View file

@ -57,9 +57,8 @@ PGDATA=${PG_ROOT}/${PG_VERSION}/${PG_NAME}
PG_NEW_CLUSTER=false
read_setting(){
DB_SERVER_TYPE=${DB_SERVER_TYPE:-postgres}
DB_SERVER_TYPE=${DB_SERVER_TYPE:-$(${JSON} services.CoAuthoring.sql.type)}
POSTGRESQL_SERVER_HOST=${POSTGRESQL_SERVER_HOST:-$(${JSON} services.CoAuthoring.sql.dbHost)}
POSTGRESQL_SERVER_PORT=${POSTGRESQL_SERVER_PORT:-$(${JSON} services.CoAuthoring.sql.dbPort)}
POSTGRESQL_SERVER_DB_NAME=${POSTGRESQL_SERVER_DB_NAME:-$(${JSON} services.CoAuthoring.sql.dbName)}
POSTGRESQL_SERVER_USER=${POSTGRESQL_SERVER_USER:-$(${JSON} services.CoAuthoring.sql.dbUser)}
POSTGRESQL_SERVER_PASS=${POSTGRESQL_SERVER_PASS:-$(${JSON} services.CoAuthoring.sql.dbPass)}
@ -233,49 +232,48 @@ create_postgresql_cluster(){
pg_createcluster ${PG_VERSION} ${PG_NAME}
}
create_db(){
create_postgresql_db(){
sudo -u postgres psql -c "CREATE DATABASE onlyoffice;"
sudo -u postgres psql -c "CREATE USER onlyoffice WITH password 'onlyoffice';"
sudo -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"
}
create_db_tbl() {
case $DB_SERVER_TYPE in
"postgres")
sudo -u postgres psql -c "CREATE DATABASE onlyoffice;"
sudo -u postgres psql -c "CREATE USER onlyoffice WITH password 'onlyoffice';"
sudo -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"
create_postgresql_tbl
;;
"mariadb"|"mysql")
sudo mysql -e "CREATE DATABASE IF NOT EXISTS onlyoffice DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;"
sudo mysql -e "CREATE USER 'onlyoffice'@'localhost' IDENTIFIED BY 'onlyoffice';"
sudo mysql -e "GRANT ALL PRIVILEGES ON \`onlyoffice\`.* TO 'onlyoffice'@'localhost';"
create_mysql_tbl
;;
esac
}
create_db_tbl(){
case $DB_SERVER_TYPE in
"postgres")
CONNECTION_PARAMS="-h$DB_SERVER_HOST -p$DB_SERVER_PORT -U$DB_SERVER_USER -w"
if [ -n "$DB_SERVER_PASS" ]; then
export PGPASSWORD=$DB_SERVER_PASS
fi
create_postgresql_tbl() {
CONNECTION_PARAMS="-h$DB_SERVER_HOST -p${$DB_SERVER_PORT:="5432"} -U$DB_SERVER_USER -w"
if [ -n "$DB_SERVER_PASS" ]; then
export PGPASSWORD=$DB_SERVER_PASS
fi
PSQL="psql -q $CONNECTION_PARAMS"
CREATEDB="createdb $CONNECTION_PARAMS"
PSQL="psql -q $CONNECTION_PARAMS"
CREATEDB="createdb $CONNECTION_PARAMS"
# Create db on remote server
if $PSQL -lt | cut -d\| -f 1 | grep -qw | grep 0; then
$CREATEDB $DB_SERVER_NAME
fi
# Create db on remote server
if $PSQL -lt | cut -d\| -f 1 | grep -qw | grep 0; then
$CREATEDB $DB_SERVER_NAME
fi
$PSQL -d "$DB_SERVER_NAME" -f "$APP_DIR/server/schema/postgresql/createdb.sql"
;;
"mariadb"|"mysql")
CONNECTION_PARAMS="-h$DB_SERVER_HOST -P${DB_SERVER_PORT:="3306"} -u$DB_SERVER_USER -p$DB_SERVER_PASS -w"
MYSQL="mysql -q $CONNECTION_PARAMS"
$PSQL -d "$DB_SERVER_NAME" -f "$APP_DIR/server/schema/postgresql/createdb.sql"
}
# Create db on remote server
$MYSQL -e "CREATE DATABASE IF NOT EXISTS $DB_SERVER_NAME DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;" >/dev/null 2>&1
create_mysql_tbl() {
CONNECTION_PARAMS="-h$DB_SERVER_HOST -P${DB_SERVER_PORT:="3306"} -u$DB_SERVER_USER -p$DB_SERVER_PASS -w"
MYSQL="mysql -q $CONNECTION_PARAMS"
$MYSQL $DB_SERVER_NAME < "$APP_DIR/server/schema/mysql/createdb.sql" >/dev/null 2>&1
;;
esac
# Create db on remote server
$MYSQL -e "CREATE DATABASE IF NOT EXISTS $DB_SERVER_NAME DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;" >/dev/null 2>&1
$MYSQL $DB_SERVER_NAME < "$APP_DIR/server/schema/mysql/createdb.sql" >/dev/null 2>&1
}
update_nginx_settings(){
@ -373,7 +371,7 @@ if [ ${ONLYOFFICE_DATA_CONTAINER_HOST} = "localhost" ]; then
update_db_settings
waiting_for_db
create_db_tbl
elif [ $DB_SERVER_TYPE == "postgres" ]; then
else
# change rights for postgres directory
chown -R postgres:postgres ${PG_ROOT}
chmod -R 700 ${PG_ROOT}
@ -414,8 +412,8 @@ for i in ${LOCAL_SERVICES[@]}; do
done
if [ ${PG_NEW_CLUSTER} = "true" ]; then
create_db
create_db_tbl
create_postgresql_db
create_postgresql_tbl
fi
if [ ${ONLYOFFICE_DATA_CONTAINER} != "true" ]; then