Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
meltmedia/meltconsole / melt-push-db.sh
Size: Mime:
#!/bin/bash

# Parse arguments with `=`
# https://stackoverflow.com/questions/192249/how-do-i-parse-command-line-arguments-in-bash
for i in "$@"
do
    case $i in
        --env=*)
        ENVIRONMENT="${i#*=}"
        shift # past argument=value
        ;;
        *)
            # unknown option
        ;;
    esac
done

# Exit if no environment was detected
if [ -z "${ENVIRONMENT}" ]; then
    echo "Value for --env missing."
    exit 1
fi

echo "Creating a local ${ENVIRONMENT}-export.sql backup..."
drush sql-dump > ${ENVIRONMENT}-export.sql

echo "Pushing database from local to ${ENVIRONMENT^^}.."
drush rsync @self:../${ENVIRONMENT}-export.sql @melt.${ENVIRONMENT}:${ENVIRONMENT}-export.sql

echo "Cleaning up local environment..."
rm ${ENVIRONMENT}-export.sql

echo "Importing database to ${ENVIRONMENT^^}..."
drush @melt.${ENVIRONMENT} ssh lando db-import ${ENVIRONMENT}-export.sql && rm ${ENVIRONMENT}-export.sql