Sha256: 842523d6a4591f0d818fe2f3b7436b2d38dd28093fd0831affd96465ec9b400a

Contents?: true

Size: 1.21 KB

Versions: 11

Compression:

Stored size: 1.21 KB

Contents

# require 'mysql2'
# Need to run with CLI rather than Ruby gem to reduce dependencies when this isn't used.

module DanarchyDeploy
  module Services
    class MySQL
      class Privileges
        def self.new(mysql, options)
          sql_grants = sql_template(mysql, options)
          run_sql_grants(mysql, sql_grants, options)
        end

        def self.sql_template(mysql, options)
          sql_grants = '/root/.user_grants.sql'
          source = options[:deploy_dir] +
                   '/templates/services/mysql/user_db_grants.sql.erb'
          templates = [{ target: sql_grants,
                         source: source,
                         variables: mysql[:privileges] }]

          DanarchyDeploy::Templater.new(templates, options)
          sql_grants
        end
        
        def self.run_sql_grants(mysql, sql_grants, options)
          # Using CLI commands for now;
          #   mysql2 requires mysql client be installed even if we won't be using it.
          # client = Mysql2::Client.new(:default_file => default_file)
          cmd = "mysql --defaults-file=#{mysql[:default_file]} -v < #{sql_grants}"
          DanarchyDeploy::Helpers.run_command(cmd, options)
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
danarchy_deploy-0.2.11 lib/danarchy_deploy/services/mysql/privileges.rb
danarchy_deploy-0.2.10 lib/danarchy_deploy/services/mysql/privileges.rb
danarchy_deploy-0.2.9 lib/danarchy_deploy/services/mysql/privileges.rb
danarchy_deploy-0.2.8 lib/danarchy_deploy/services/mysql/privileges.rb
danarchy_deploy-0.2.7 lib/danarchy_deploy/services/mysql/privileges.rb
danarchy_deploy-0.2.6 lib/danarchy_deploy/services/mysql/privileges.rb
danarchy_deploy-0.2.5 lib/danarchy_deploy/services/mysql/privileges.rb
danarchy_deploy-0.2.4 lib/danarchy_deploy/services/mysql/privileges.rb
danarchy_deploy-0.2.3 lib/danarchy_deploy/services/mysql/privileges.rb
danarchy_deploy-0.2.2 lib/danarchy_deploy/services/mysql/privileges.rb
danarchy_deploy-0.2.1 lib/danarchy_deploy/services/mysql/privileges.rb