jbox-web/job-database-manager-mysql

View on GitHub
models/mysql_adapter.rb

Summary

Maintainability
A
0 mins
Test Coverage
require 'job_database_manager'

class JobDatabaseManagerMysql < Jenkins::Model::RootAction
  class MysqlAdapter < ::JobDatabaseManager::DbAdapter::AbstractAdapter

    def create_database_query(database)
      "CREATE DATABASE IF NOT EXISTS #{database};"
    end


    def create_user_query(database, user, password)
      "CREATE USER '#{user}'@'%' IDENTIFIED BY '#{password}';"
    end


    def create_privileges_query(database, user, password)
      "GRANT ALL PRIVILEGES ON #{database}.* TO '#{user}'@'%';" +
        "GRANT ALL PRIVILEGES ON #{database}.* TO '#{user}'@'localhost';"
    end


    def drop_database_query(database)
      "DROP DATABASE IF EXISTS #{database};"
    end


    def drop_privileges_query(user)
      "REVOKE ALL PRIVILEGES, GRANT OPTION FROM '#{user}'@'%';" +
        "REVOKE ALL PRIVILEGES, GRANT OPTION FROM '#{user}'@'localhost';"
    end


    def drop_user_query(user)
      "DROP USER '#{user}'@'%';"
    end


    def db_user
      ['--user', user]
    end


    def env_vars
      { 'MYSQL_PWD' => password }
    end


    def execute_query_cmd
      '--execute'
    end

  end
end