Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- select concat('drop view ',table_schema,'.',table_name,';') as ddl
- into outfile '/tmp/drop_all_views.sql'
- from information_schema.views
- where table_schema = 'your_schema';
- . /tmp/drop_all_views.sql
- #!/bin/bash
- PREFIX=""
- SUFFIX=""
- HOST="localhost"
- PORT="3306"
- while getopts p:s:h:P: OPCAO; do
- case "${OPCAO}" in
- p) PREFIX="${OPTARG}" ;;
- s) SUFFIX="${OPTARG}" ;;
- h) HOST="${OPTARG}" ;;
- P) PORT="${OPTARG}" ;;
- esac
- done
- shift $((OPTIND-1))
- MUSER="$1"
- MPASS="$2"
- MDB="$3"
- # Detect paths
- MYSQL=$(which mysql)
- AWK=$(which awk)
- GREP=$(which grep)
- if [ $# -eq 0 ]
- then
- echo "Usage: $0 [-h Host] [-P Port] [-p Prefix-View-Name] [-s Suffix-View-Name] {MySQL-User-Name} {MySQL-User-Password} {MySQL-Database-Name}"
- echo "Drops all views from a MySQL"
- exit 1
- fi
- TABLES=$($MYSQL -h $HOST -P $PORT -u $MUSER -p$MPASS $MDB -e "SELECT table_name FROM information_schema.views WHERE table_schema = '$MDB' AND table_name LIKE '$PREFIX%$SUFFIX';" | $AWK '{ print $1}')
- for t in $TABLES
- do
- echo "Deleting $t view from $MDB database..."
- $MYSQL -h $HOST -P $PORT -u $MUSER -p$MPASS $MDB -e "drop view $t"
- done
- ./script.sh [-h host] [-P port] [-p prefixViewName] [-s suffixViewName] username password databaseName
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement