Skip to content

Instantly share code, notes, and snippets.

@jasonsnider
Created August 12, 2010 18:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jasonsnider/521424 to your computer and use it in GitHub Desktop.
Save jasonsnider/521424 to your computer and use it in GitHub Desktop.
#!/bin/bash
#################################################################################################
# README
#
# Purges your dev DB and rebuilds it from source
#------------------------------------------------------------------------------------------------
# Usage
#
# ./dropTables.sh dbuser dbpass some_db /path/to/20100812123210.sql
#------------------------------------------------------------------------------------------------
# Original Source
#
# http://www.cyberciti.biz/faq/how-do-i-empty-mysql-database/
#################################################################################################
MUSER="$1"
MPASS="$2"
MDB="$3"
MSOURCE="$4"
# Detect paths
MYSQL=$(which mysql)
AWK=$(which awk)
GREP=$(which grep)
if [ $# -ne 4 ]
then
echo "Usage: $0 {MySQL-User-Name} {MySQL-User-Password} {MySQL-Database-Name} {PATH-TO/MySQL-SOURCE.SQL}"
echo "Drops all tables from a MySQL"
echo "Then rebuilds the database from a source file"
exit 1
fi
TABLES=$($MYSQL -u $MUSER -p$MPASS $MDB -e 'show tables' | $AWK '{ print $1}' | $GREP -v '^Tables' )
for t in $TABLES
do
echo "Deleting $t table from $MDB database..."
$MYSQL -u $MUSER -p$MPASS $MDB -e "drop table $t"
done
echo "Executing source $MSOURCE ..."
$MYSQL -u $MUSER -p$MPASS $MDB -e "source $MSOURCE"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment