terminal-save
echo
echo "Récupération du contenu vers $projectDestPath"
rsync --compress --rsh="ssh -p $devPort" -a --info=progress2 --exclude '*.log' --exclude 'vendor/' --exclude 'node_modules/' --exclude 'var/cache' --exclude '.scannerwork/' $devUserName@$devHost:$projectDevPath $projectDestPath
terminal-restore
echo -e " + Fichiers \e[1;92mrécupérés \e[0mvers \e[1m$projectDestPath\e[0m"
terminal-save
echo "dump de la base de donnée distante"
# get distant (but rsync in local) database parameters
cd $projectDestPath
if [[ -f .env.local ]]; then
ENV_FILE=".env.local"
elif [[ -f .env ]]; then
ENV_FILE=".env"
else
echo
echo "Erreur"
echo "Détection .env.local inexistant";
exit 1
fi
DATABASE_URL=$(grep -v '^#' $ENV_FILE | grep DATABASE_URL | cut -d '=' -f2 | cut -d '?' -f1 | tr -d '"')
DATABASE_USER_PASS=$( echo ${DATABASE_URL#"mysql://"} | cut -d '@' -f1)
DATABASE_USER=$(echo $DATABASE_USER_PASS | cut -d ':' -f1)
DATABASE_PASS=$(echo $DATABASE_USER_PASS | cut -d ':' -f2)
DATABADE_HOST_BASE=$(echo $DATABASE_URL | cut -d '@' -f2)
DATABASE_BASE=$(echo $DATABADE_HOST_BASE | cut -d '/' -f2)
ssh -p $devPort -q $devUserName@$devHost "mysqldump -h 127.0.0.1 -u $DATABASE_USER -p$DATABASE_PASS $DATABASE_BASE > \$HOME/$projectShortName.sql"
echo
echo "récupération de la bdd en local > $HOME/$projectShortName.sql"
rsync --compress --rsh="ssh -p $devPort" -a --info=progress2 $devUserName@$devHost:\$HOME/$projectShortName.sql $HOME/$projectShortName.sql
# delete DEV SqL dump
ssh -p $devPort -q $devUserName@$devHost "rm \$HOME/$projectShortName.sql"
terminal-restore
echo -e " + Base de donnée \e[1;92mrécupérée \e[0mvers \e[1m$HOME/$projectShortName.sql\e[0m"
# vérification des requirements depuis composer.json
terminal-switch-second
export COMPOSER_ALLOW_SUPERUSER=1;
ext=$($phpCliPath /usr/local/bin/composer --no-interaction check-platform-reqs | grep 'ext-' | grep " missing" | awk '{print $1}' | sed -e "s/^ext-//" | sed "s/.*/php$requirePhpVersion-&/" | tr '\n' ' ')
if [ "" != "$ext" ]; then
apt-check $ext
fi
composerPass=$($phpCliPath /usr/local/bin/composer --no-interaction check-platform-reqs | grep 'failed')
if [ ! -z "$composerPass" ]; then
echo
echo "Erreur composer."
$phpCliPath /usr/local/bin/composer check-platform-reqs
echo
exit 1
fi
# install requirements
$phpCliPath /usr/local/bin/composer install --no-scripts --no-interaction
terminal-switch-first