Advertisement
Guest User

Untitled

a guest
Oct 28th, 2016
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. namespace :db do
  2.  
  3. task 'mysql:create' do
  4.  
  5. puts '== Database Configuration =='
  6.  
  7. app_name = Rails.application.class.parent_name.underscore
  8. database_name = ENV['database'] || "#{app_name}_db_#{Rails.env}"
  9. database_user_name = ENV['database_user'] || "#{app_name}_user_#{Rails.env}"
  10. database_user_password = ENV['database_password'] || ''
  11.  
  12. puts " Database: #{database_name}"
  13. puts " User: #{database_user_name}"
  14. puts " Password: #{database_user_password}"
  15.  
  16. puts '== Creating SQL script =='
  17.  
  18. Tempfile.open %w(mysql_config .sql) do |f|
  19.  
  20. f.print <<-SQL
  21. CREATE USER '#{database_user_name}'@'localhost' IDENTIFIED BY '#{database_user_password}';
  22. GRANT ALL PRIVILEGES ON #{database_name}.* TO '#{database_user_name}'@'localhost';
  23. FLUSH PRIVILEGES;
  24. SQL
  25.  
  26. f.flush
  27.  
  28. puts '== Running SQL script =='
  29. cmd = "mysql -u root -p < #{f.path}"
  30. system(cmd) || abort("\n== Command #{cmd} failed ==")
  31.  
  32. end
  33.  
  34. end
  35.  
  36. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement