Sha256: d47185954fc2adfb6d46218b270539180a5affa3341c6d11e5d10b8962053f46

Contents?: true

Size: 1.02 KB

Versions: 6

Compression:

Stored size: 1.02 KB

Contents

Capistrano::Configuration.instance.load do
  namespace :db do
    desc "Create database and grant permissions"
    task :create, :roles => :db_server do
      run "mysqladmin -u root -p create #{db_database} || true" do |channel, stream, data|
        if data =~ /^Enter password:/
          logger.info "#{channel[:host]} asked for password"
          channel.send_data "\n"
        else
          logger.info data
        end
      end
    end

    desc "Grant access"
    task :grant, :roles => :db_server do
      # TODO: support more than one server
      # TODO: lookup fqdn for web servers
      web_server = find_servers(:roles => :app).first
      run "mysql -u root -p #{db_database} -e \"GRANT ALL PRIVILEGES ON #{db_database}.* TO '#{db_username}'@'#{web_server}' IDENTIFIED BY '#{db_password}'\"" do |channel, stream, data|
        if data =~ /^Enter password:/
          logger.info "#{channel[:host]} asked for password"
          channel.send_data "\n"
        else
          logger.info data
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
capones_recipes-1.15.4 lib/capones_recipes/tasks/database/setup.rb
capones_recipes-1.15.3 lib/capones_recipes/tasks/database/setup.rb
capones_recipes-1.15.2 lib/capones_recipes/tasks/database/setup.rb
capones_recipes-1.15.1 lib/capones_recipes/tasks/database/setup.rb
capones_recipes-1.15.0 lib/capones_recipes/tasks/database/setup.rb
capones_recipes-1.14.1 lib/capones_recipes/tasks/database/setup.rb