1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/limesurvey_ynh.git synced 2024-09-03 19:36:32 +02:00
limesurvey_ynh/scripts/upgrade

133 lines
4.2 KiB
Text
Raw Normal View History

#!/bin/bash
2018-03-13 21:49:11 +01:00
#=================================================
# GENERIC STARTING
#=================================================
# IMPORT GENERIC HELPERS
#=================================================
2017-02-06 23:40:55 +01:00
source /usr/share/yunohost/helpers
source _common.sh
2018-03-13 21:49:11 +01:00
#=================================================
# LOAD SETTINGS
#=================================================
2017-02-06 23:40:55 +01:00
export app=$YNH_APP_INSTANCE_NAME
2017-02-06 23:50:47 +01:00
export domain=$(ynh_app_setting_get $app domain)
2018-03-13 21:49:11 +01:00
export path_url=$(ynh_app_setting_get $app path)
2017-02-06 23:50:47 +01:00
export admin=$(ynh_app_setting_get $app admin)
2018-03-13 21:49:11 +01:00
export final_path=$(ynh_app_setting_get $app final_path)
2017-02-10 00:50:37 +01:00
export is_public=$(ynh_app_setting_get $app is_public)
export prefix=$(ynh_app_setting_get $app prefix)
2018-03-13 21:49:11 +01:00
export db_pwd=$(ynh_app_setting_get $app mysqlpwd)
export db_name=$(ynh_app_setting_get $app db_name)
export db_user=$(ynh_app_setting_get $app db_user)
#=================================================
# CHECK VERSION
#=================================================
ynh_abort_if_up_to_date
#=================================================
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
#=================================================
# Backup the current version of the app
ynh_backup_before_upgrade
ynh_clean_setup () {
# restore it if the upgrade fails
ynh_restore_upgradebackup
}
# Exit if an error occurs during the execution of the script
ynh_abort_if_errors
#=================================================
# CHECK THE PATH
#=================================================
path_url=$(ynh_normalize_url_path $path_url) # Vérifie et corrige la syntaxe du path.
#=================================================
# STEP Migrations
#=================================================
if ynh_version_le "2.0.5" ; then
is_public=${is_public:-0}
prefix=${prefix:-prefix_}
db_name=${db_name:-$app}
final_path=$(ynh_app_setting_get $app local_path)
ynh_save_args path_url is_public prefix db_name final_path db_user
ynh_install_app_dependencies $pkg_dependencies
# Move the upload dir to final_path if needed
2017-02-06 23:40:55 +01:00
# The upload dir can't be symlinked in home (not supported by LS)
upload_path=/home/yunohost.app/$app/upload
2018-03-13 21:49:11 +01:00
if [ -h $final_path/upload ]; then
rm $final_path/upload
mv $upload_path $final_path/
fi
2017-02-06 23:40:55 +01:00
ynh_app_setting_delete $app skipped_uris
2017-02-06 23:40:55 +01:00
ynh_sso_access "/index.php?r=admin,/index.php?r=plugins,/scripts"
ynh_configure migrations/2.0.5.sql ./2.0.5.sql
2018-03-13 21:49:11 +01:00
mysql -u $app -p$db_pwd $db_name < ./2.0.5.sql
2017-02-06 23:40:55 +01:00
fi
2018-03-13 21:49:11 +01:00
#=================================================
# STANDARD UPGRADE STEPS
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
2017-02-06 23:40:55 +01:00
# Backup config, plugins and themes and delete previous files
ynh_save_persistent modules themes plugins
ynh_save_persistent data application/config/config.php upload
# Copie new files and restore config, plugins, upload and themes
2018-03-13 21:49:11 +01:00
ynh_secure_remove $final_path
ynh_setup_source "$final_path" # Télécharge la source, décompresse et copie dans $final_path
# Restore config, plugins and themes
ynh_restore_persistent modules
ynh_restore_persistent data
2018-03-13 21:49:11 +01:00
#=================================================
# NGINX CONFIGURATION
#=================================================
ynh_add_nginx_config
#=================================================
# CREATE DEDICATED USER
#=================================================
ynh_system_user_create $app # Create the dedicated user, if not exist
2018-03-13 21:49:11 +01:00
#=================================================
# PHP-FPM CONFIGURATION
#=================================================
ynh_add_fpm_config # Créer le fichier de configuration du pool php-fpm et le configure.
#=================================================
# SECURING FILES AND DIRECTORIES
#=================================================
set_permissions
#=================================================
# UPGRADE DB
#=================================================
2017-02-06 23:40:55 +01:00
# Migrate DB
2018-03-13 21:49:11 +01:00
cd $final_path/application/commands
2017-02-06 23:40:55 +01:00
ynh_exec_as "$app" php console.php update
2018-03-13 21:49:11 +01:00
#=================================================
# RELOAD NGINX
#=================================================
ynh_system_reload nginx