Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. select concat('drop view ',table_schema,'.',table_name,';') as ddl
  2. into outfile '/tmp/drop_all_views.sql'
  3. from information_schema.views
  4. where table_schema = 'your_schema';
  5.  
  6. . /tmp/drop_all_views.sql
  7.  
  8. #!/bin/bash
  9. PREFIX=""
  10. SUFFIX=""
  11. HOST="localhost"
  12. PORT="3306"
  13.  
  14. while getopts p:s:h:P: OPCAO; do
  15. case "${OPCAO}" in
  16. p) PREFIX="${OPTARG}" ;;
  17. s) SUFFIX="${OPTARG}" ;;
  18. h) HOST="${OPTARG}" ;;
  19. P) PORT="${OPTARG}" ;;
  20. esac
  21. done
  22.  
  23. shift $((OPTIND-1))
  24.  
  25. MUSER="$1"
  26. MPASS="$2"
  27. MDB="$3"
  28.  
  29. # Detect paths
  30. MYSQL=$(which mysql)
  31. AWK=$(which awk)
  32. GREP=$(which grep)
  33.  
  34. if [ $# -eq 0 ]
  35. then
  36. echo "Usage: $0 [-h Host] [-P Port] [-p Prefix-View-Name] [-s Suffix-View-Name] {MySQL-User-Name} {MySQL-User-Password} {MySQL-Database-Name}"
  37. echo "Drops all views from a MySQL"
  38. exit 1
  39. fi
  40.  
  41. 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}')
  42.  
  43. for t in $TABLES
  44. do
  45. echo "Deleting $t view from $MDB database..."
  46. $MYSQL -h $HOST -P $PORT -u $MUSER -p$MPASS $MDB -e "drop view $t"
  47. done
  48.  
  49. ./script.sh [-h host] [-P port] [-p prefixViewName] [-s suffixViewName] username password databaseName
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement