class ActiveRecord::ConnectionAdapters::SQLServer::SchemaCreation
Private Instance Methods
action_sql(action, dependency)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/schema_creation.rb, line 37 def action_sql(action, dependency) case dependency when :restrict raise ArgumentError, <<-MSG.strip_heredoc '#{dependency}' is not supported for :on_update or :on_delete. Supported values are: :nullify, :cascade MSG else super end end
add_column_options!(sql, options)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/schema_creation.rb, line 28 def add_column_options!(sql, options) column = options.fetch(:column) { return super } if (column.type == :uuid || column.type == :uniqueidentifier) && options[:default] =~ /\(\)/ sql << " DEFAULT #{options.delete(:default)}" else super end end
visit_ColumnDefinition(o)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/schema_creation.rb, line 8 def visit_ColumnDefinition(o) sql = super if o.primary_key? && o.type == :uuid sql << ' PRIMARY KEY ' add_column_options!(sql, column_options(o)) end sql end
visit_TableDefinition(o)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/schema_creation.rb, line 17 def visit_TableDefinition(o) if o.as table_name = quote_table_name(o.temporary ? "##{o.name}" : o.name) projections, source = @conn.to_sql(o.as).match(%r{SELECT\s+(.*)?\s+FROM\s+(.*)?}).captures select_into = "SELECT #{projections} INTO #{table_name} FROM #{source}" else o.instance_variable_set :@as, nil super end end