Sha256: 044f6c037c3f8985322cdfd2ac3a56c6b5f9fca3f4689f51fb8043075648213e

Contents?: true

Size: 1.13 KB

Versions: 5

Compression:

Stored size: 1.13 KB

Contents

module ActiveRecord
  module ConnectionAdapters
    module SQLServer
      module DatabaseTasks

        def create_database(database, options = {})
          name = SQLServer::Utils.extract_identifiers(database)
          options = {collation: @connection_options[:collation]}.merge!(options.symbolize_keys)
          options = options.select { |_, v| v.present? }
          option_string = options.inject("") do |memo, (key, value)|
            memo += case key
            when :collation
              " COLLATE #{value}"
            else
              ""
            end
          end
          do_execute "CREATE DATABASE #{name}#{option_string}"
        end

        def drop_database(database)
          name = SQLServer::Utils.extract_identifiers(database)
          do_execute "DROP DATABASE #{name}"
        end

        def current_database
          select_value 'SELECT DB_NAME()'
        end

        def charset
          select_value "SELECT DATABASEPROPERTYEX(DB_NAME(), 'SqlCharSetName')"
        end

        def collation
          select_value "SELECT DATABASEPROPERTYEX(DB_NAME(), 'Collation')"
        end

      end
    end
  end
end



Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
activerecord-sqlserver-adapter-4.2.6 lib/active_record/connection_adapters/sqlserver/database_tasks.rb
activerecord-sqlserver-adapter-4.2.5 lib/active_record/connection_adapters/sqlserver/database_tasks.rb
activerecord-sqlserver-adapter-4.2.4 lib/active_record/connection_adapters/sqlserver/database_tasks.rb
activerecord-sqlserver-adapter-4.2.3 lib/active_record/connection_adapters/sqlserver/database_tasks.rb
activerecord-sqlserver-adapter-4.2.2 lib/active_record/connection_adapters/sqlserver/database_tasks.rb