Sha256: 555867e20d566f3c2ac03a7dd5042a98d6395ab35c185a325648de7eca11e0ad

Contents?: true

Size: 959 Bytes

Versions: 10

Compression:

Stored size: 959 Bytes

Contents

module ActiveRecord
  module ConnectionAdapters
    module SQLServer
      class SchemaCreation < AbstractAdapter::SchemaCreation

        private

        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

        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

      end
    end
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
activerecord-jdbcsqlserver-adapter-50.1.0 lib/active_record/connection_adapters/sqlserver/schema_creation.rb
activerecord-jdbcsqlserver-adapter-50.0.0 lib/active_record/connection_adapters/sqlserver/schema_creation.rb
activerecord-sqlserver-adapter-5.0.8 lib/active_record/connection_adapters/sqlserver/schema_creation.rb
activerecord-sqlserver-adapter-5.0.7 lib/active_record/connection_adapters/sqlserver/schema_creation.rb
activerecord-sqlserver-adapter-5.0.6 lib/active_record/connection_adapters/sqlserver/schema_creation.rb
activerecord-sqlserver-adapter-5.0.5 lib/active_record/connection_adapters/sqlserver/schema_creation.rb
activerecord-sqlserver-adapter-5.0.4 lib/active_record/connection_adapters/sqlserver/schema_creation.rb
activerecord-sqlserver-adapter-5.0.3 lib/active_record/connection_adapters/sqlserver/schema_creation.rb
activerecord-sqlserver-adapter-5.0.1 lib/active_record/connection_adapters/sqlserver/schema_creation.rb
activerecord-sqlserver-adapter-5.0.0 lib/active_record/connection_adapters/sqlserver/schema_creation.rb