Module: ActiveRecord::ConnectionAdapters::SQLServer::ColumnMethods

Included in:
Table, TableDefinition
Defined in:
lib/active_record/connection_adapters/sqlserver/table_definition.rb

Instance Method Summary collapse

Instance Method Details

#binary_basic(*args, **options) ⇒ Object



79
80
81
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 79

def binary_basic(*args, **options)
  args.each { |name| column(name, :binary_basic, options) }
end

#char(*args, **options) ⇒ Object



55
56
57
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 55

def char(*args, **options)
  args.each { |name| column(name, :char, options) }
end

#datetime(*args, **options) ⇒ Object



33
34
35
36
37
38
39
40
41
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 33

def datetime(*args, **options)
  args.each do |name|
    if options[:precision]
      datetime2(name, options)
    else
      column(name, :datetime, options)
    end
  end
end

#datetime2(*args, **options) ⇒ Object



43
44
45
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 43

def datetime2(*args, **options)
  args.each { |name| column(name, :datetime2, options) }
end

#datetimeoffset(*args, **options) ⇒ Object



47
48
49
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 47

def datetimeoffset(*args, **options)
  args.each { |name| column(name, :datetimeoffset, options) }
end

#json(*args, **options) ⇒ Object



95
96
97
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 95

def json(*args, **options)
  args.each { |name| column(name, :text, options) }
end

#money(*args, **options) ⇒ Object



25
26
27
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 25

def money(*args, **options)
  args.each { |name| column(name, :money, options) }
end

#nchar(*args, **options) ⇒ Object



71
72
73
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 71

def nchar(*args, **options)
  args.each { |name| column(name, :nchar, options) }
end

#ntext(*args, **options) ⇒ Object



75
76
77
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 75

def ntext(*args, **options)
  args.each { |name| column(name, :ntext, options) }
end

#primary_key(name, type = :primary_key, **options) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 7

def primary_key(name, type = :primary_key, **options)
  if [:integer, :bigint].include?(type)
    options[:is_identity] = true unless options.key?(:default)
  elsif type == :uuid
    options[:default] = options.fetch(:default, 'NEWID()')
    options[:primary_key] = true
  end
  super
end

#primary_key_nonclustered(*args, **options) ⇒ Object



17
18
19
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 17

def primary_key_nonclustered(*args, **options)
  args.each { |name| column(name, :primary_key_nonclustered, options) }
end

#real(*args, **options) ⇒ Object



21
22
23
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 21

def real(*args, **options)
  args.each { |name| column(name, :real, options) }
end

#smalldatetime(*args, **options) ⇒ Object



29
30
31
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 29

def smalldatetime(*args, **options)
  args.each { |name| column(name, :smalldatetime, options) }
end

#smallmoney(*args, **options) ⇒ Object



51
52
53
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 51

def smallmoney(*args, **options)
  args.each { |name| column(name, :smallmoney, options) }
end

#ss_timestamp(*args, **options) ⇒ Object



91
92
93
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 91

def ss_timestamp(*args, **options)
  args.each { |name| column(name, :ss_timestamp, options) }
end

#text_basic(*args, **options) ⇒ Object



67
68
69
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 67

def text_basic(*args, **options)
  args.each { |name| column(name, :text_basic, options) }
end

#uuid(*args, **options) ⇒ Object



87
88
89
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 87

def uuid(*args, **options)
  args.each { |name| column(name, :uniqueidentifier, options) }
end

#varbinary(*args, **options) ⇒ Object



83
84
85
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 83

def varbinary(*args, **options)
  args.each { |name| column(name, :varbinary, options) }
end

#varchar(*args, **options) ⇒ Object



59
60
61
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 59

def varchar(*args, **options)
  args.each { |name| column(name, :varchar, options) }
end

#varchar_max(*args, **options) ⇒ Object



63
64
65
# File 'lib/active_record/connection_adapters/sqlserver/table_definition.rb', line 63

def varchar_max(*args, **options)
  args.each { |name| column(name, :varchar_max, options) }
end