From: Luc Didry Date: Thu, 11 Oct 2018 08:34:44 +0000 (+0200) Subject: Use DB informations from config/production.yaml in upgrade script X-Git-Tag: v1.1.0-alpha.1~20 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=d9d1989b62bed7eeed987d6def0ac8ccd6032c5e;p=github%2FChocobozzz%2FPeerTube.git Use DB informations from config/production.yaml in upgrade script Avoid hardcoded values in upgrade script. Avoid asking for DB password. Uses python (usually installed on your system, even with minimal installations) and some of its standard lib modules. --- diff --git a/scripts/upgrade.sh b/scripts/upgrade.sh index b29615fb1..c70b3b42a 100755 --- a/scripts/upgrade.sh +++ b/scripts/upgrade.sh @@ -23,8 +23,13 @@ fi # Backup database SQL_BACKUP_PATH="$PEERTUBE_PATH/backup/sql-peertube_prod-$(date +"%Y%m%d-%H%M").bak" +DB_USER=$(node -e "console.log(require('js-yaml').safeLoad(fs.readFileSync('$PEERTUBE_PATH/config/production.yaml', 'utf8'))['database']['username'])") +DB_PASS=$(node -e "console.log(require('js-yaml').safeLoad(fs.readFileSync('$PEERTUBE_PATH/config/production.yaml', 'utf8'))['database']['password'])") +DB_HOST=$(node -e "console.log(require('js-yaml').safeLoad(fs.readFileSync('$PEERTUBE_PATH/config/production.yaml', 'utf8'))['database']['hostname'])") +DB_SUFFIX=$(node -e "console.log(require('js-yaml').safeLoad(fs.readFileSync('$PEERTUBE_PATH/config/production.yaml', 'utf8'))['database']['suffix'])") mkdir -p $PEERTUBE_PATH/backup -pg_dump -U peertube -W -h localhost -F c peertube_prod -f "$SQL_BACKUP_PATH" + +PGPASSWORD=$DB_PASS pg_dump -U $DB_USER -h $DB_HOST -F c "peertube${DB_SUFFIX}" -f "$SQL_BACKUP_PATH" # If there is a pre-release, give the user a choice which one to install. RELEASE_VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4)