Guest User

Untitled

a guest
May 16th, 2018
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. set :gateway, "your.server.com"
  2. set :web, "flute"
  3. set :mysql_host, "oboe"
  4. set :mysql, "mysql -uroot -prootpassword"
  5. role :xen0, gateway
  6. role :nsp, gateway
  7.  
  8. role :app, web
  9. role :db, mysql_host
  10.  
  11. set(:dbpasswd) do
  12. Capistrano::CLI.ui.ask "Enter database password :"
  13. end
  14.  
  15. set(:dbname) do
  16. Capistrano::CLI.ui.ask "Enter application name:"
  17. end
  18.  
  19. desc "list databases on host"
  20. task :list_databases, :roles => :db do
  21. run "echo \"SHOW DATABASES;\" | #{mysql}"
  22. end
  23.  
  24. desc "list database users"
  25. task :list_users, :roles => :db do
  26. run "echo \"USE mysql; SELECT User FROM user;\" | #{mysql}"
  27. end
  28.  
  29. desc "create a database user and their database"
  30. task :create_database, :roles => :db do
  31. run "echo \"CREATE DATABASE #{dbname};\
  32. GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER \
  33. ON #{dbname}.*\
  34. TO #{dbname}@'%'\
  35. IDENTIFIED BY '#{dbpasswd}';\" > file.sql"
  36.  
  37. run "#{mysql} < file.sql"
  38. end
  39.  
  40. desc "drop a database and remove the user"
  41. task :drop_database, :roles => :db do
  42. run "echo \"DROP DATABASE #{dbname};\
  43. use mysql;\
  44. DELETE FROM user WHERE User = '#{dbname}' LIMIT 1;\" > file.sql"
  45.  
  46. run "#{mysql} < file.sql"
  47. end
Add Comment
Please, Sign In to add comment