Module: ActiveRecord::Schemas::ConnectionAdapters::SqlserverAdapter

Included in:
ConnectionAdapters::SQLServerAdapter
Defined in:
lib/active_record/schemas/connection_adapters/sqlserver_adapter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#default_schemaObject



6
7
8
9
10
11
# File 'lib/active_record/schemas/connection_adapters/sqlserver_adapter.rb', line 6

def default_schema
  unless sqlserver_2000?
    @default_schema ||= select_values("SELECT default_schema_name FROM sys.database_principals WHERE type = 'S' and name = '#{self.quote_string(@connection_options[:username])}'").first
  end
  @default_schema ||= 'dbo'
end

Instance Method Details

#index_name(table_name, options) ⇒ Object

override index name so that if there is a schema, rename it schema_table instead of schema.table



25
26
27
# File 'lib/active_record/schemas/connection_adapters/sqlserver_adapter.rb', line 25

def index_name(table_name, options) #:nodoc:
  super table_name.tr('.', '_'), options
end

#unqualify_schema_name(table_name) ⇒ Object



14
15
16
17
# File 'lib/active_record/schemas/connection_adapters/sqlserver_adapter.rb', line 14

def unqualify_schema_name(table_name)
  parts = table_name.to_s.split('.')
  parts.length == 1 || parts[parts.length - 2].blank? ? default_schema : parts[parts.length - 2].gsub(/[\[\]]/,'')
end

#unqualify_table_name_if_default_schema(table_name) ⇒ Object



19
20
21
22
# File 'lib/active_record/schemas/connection_adapters/sqlserver_adapter.rb', line 19

def unqualify_table_name_if_default_schema(table_name)
  schema = unqualify_schema_name(table_name)
  schema == default_schema ? unqualify_table_name(table_name) : table_name
end