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.
This commit is contained in:
parent
71e318b4fe
commit
d9d1989b62
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue