Class: Frame::Generators::MysqlGenerator
- Includes:
- Rails::Generators::Migration
- Defined in:
- lib/generators/frame/mysql/mysql_generator.rb
Instance Method Summary collapse
Methods inherited from Base
Instance Method Details
#add_gems ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/generators/frame/mysql/mysql_generator.rb', line 11 def add_gems gem("mysql2") comment_lines 'Gemfile', /gem 'sqlite3'/ Bundler.with_clean_env do run "bundle" end end |
#add_user ⇒ Object
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/generators/frame/mysql/mysql_generator.rb', line 28 def add_user config = YAML.load_file('config/database.yml') user = config[Rails.env]["username"] pw = config[Rails.env]["password"] puts "creating user: #{user}" puts "using pw: #{pw}" output = create_file 'tmp/create_user.sql', "CREATE USER '#{user}'@localhost IDENTIFIED BY '#{pw}';" puts "output: #{output}\nEnter mysql root password" system "mysql -u root < #{output}" end |
#create_db ⇒ Object
50 51 52 53 |
# File 'lib/generators/frame/mysql/mysql_generator.rb', line 50 def create_db rake("db:reset") rake("db:setup") end |
#drop_db ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/generators/frame/mysql/mysql_generator.rb', line 19 def drop_db config = YAML.load_file('config/database.yml') db = config[Rails.env]["database"] puts "database: #{db}" output = create_file 'tmp/drop_db.sql', "DROP DATABASE IF EXISTS #{db};" puts "output: #{output}\nEnter mysql root password" system "mysql -u root < #{output}" end |
#grant_user ⇒ Object
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/generators/frame/mysql/mysql_generator.rb', line 39 def grant_user config = YAML.load_file('config/database.yml') user = config[Rails.env]["username"] db = config[Rails.env]["database"] puts "granting user: #{user}" puts "all on db: #{db}" output = create_file 'tmp/grant_user.sql', "GRANT ALL PRIVILEGES ON #{db}.* TO '#{user}'@localhost;" puts "output: #{output}\nEnter mysql root password" system "mysql -u root < #{output}" end |