Module: ActiveRecord::ConnectionAdapters::SQLServer::DatabaseTasks
- Included in:
- ActiveRecord::ConnectionAdapters::SQLServerAdapter
- Defined in:
- lib/active_record/connection_adapters/sqlserver/database_tasks.rb
Instance Method Summary collapse
- #charset ⇒ Object
- #collation ⇒ Object
- #create_database(database, options = {}) ⇒ Object
- #current_database ⇒ Object
- #drop_database(database) ⇒ Object
Instance Method Details
#charset ⇒ Object
30 31 32 |
# File 'lib/active_record/connection_adapters/sqlserver/database_tasks.rb', line 30 def charset select_value "SELECT DATABASEPROPERTYEX(DB_NAME(), 'SqlCharSetName')" end |
#collation ⇒ Object
34 35 36 |
# File 'lib/active_record/connection_adapters/sqlserver/database_tasks.rb', line 34 def collation select_value "SELECT DATABASEPROPERTYEX(DB_NAME(), 'Collation')" end |
#create_database(database, options = {}) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/active_record/connection_adapters/sqlserver/database_tasks.rb', line 6 def create_database(database, = {}) name = SQLServer::Utils.extract_identifiers(database) = {collation: @connection_options[:collation]}.merge!(.symbolize_keys) = .select { |_, v| v.present? } option_string = .inject("") do |memo, (key, value)| memo += case key when :collation " COLLATE #{value}" else "" end end do_execute "CREATE DATABASE #{name}#{option_string}" end |
#current_database ⇒ Object
26 27 28 |
# File 'lib/active_record/connection_adapters/sqlserver/database_tasks.rb', line 26 def current_database select_value 'SELECT DB_NAME()' end |
#drop_database(database) ⇒ Object
21 22 23 24 |
# File 'lib/active_record/connection_adapters/sqlserver/database_tasks.rb', line 21 def drop_database(database) name = SQLServer::Utils.extract_identifiers(database) do_execute "DROP DATABASE #{name}" end |