module ActiveRecord::ConnectionAdapters::SQLServer::DatabaseTasks
Public Instance Methods
charset()
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/database_tasks.rb, line 22 def charset select_value "SELECT DATABASEPROPERTYEX(DB_NAME(), 'SqlCharSetName')" end
collation()
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/database_tasks.rb, line 26 def collation select_value "SELECT DATABASEPROPERTYEX(DB_NAME(), 'Collation')" end
create_database(database, options = {})
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/database_tasks.rb, line 6 def create_database(database, options = {}) name = SQLServer::Utils.extract_identifiers(database) db_options = create_database_options(options) edition_options = create_database_edition_options(options) do_execute "CREATE DATABASE #{name} #{db_options} #{edition_options}" end
current_database()
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/database_tasks.rb, line 18 def current_database select_value 'SELECT DB_NAME()' end
drop_database(database)
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/database_tasks.rb, line 13 def drop_database(database) name = SQLServer::Utils.extract_identifiers(database) do_execute "DROP DATABASE #{name}" end
Private Instance Methods
create_database_edition_options(options={})
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/database_tasks.rb, line 46 def create_database_edition_options(options={}) keys = [:maxsize, :edition, :service_objective] copts = @connection_options edition_options = { maxsize: copts[:azure_maxsize], edition: copts[:azure_edition], service_objective: copts[:azure_service_objective] }.merge(options.symbolize_keys).select { |_, v| v.present? }.slice(*keys).map { |k,v| "#{k.to_s.upcase} = #{v}" }.join(', ') edition_options = "( #{edition_options} )" if edition_options.present? edition_options end
create_database_options(options={})
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/database_tasks.rb, line 33 def create_database_options(options={}) keys = [:collate] copts = @connection_options options = { collate: copts[:collation] }.merge(options.symbolize_keys).select { |_, v| v.present? }.slice(*keys).map { |k,v| "#{k.to_s.upcase} #{v}" }.join(' ') options end