Sha256: 20c383231bd6429837fbde2877d46feb590f637fbd35ac741ffbc605f560f4e6

Contents?: true

Size: 872 Bytes

Versions: 5

Compression:

Stored size: 872 Bytes

Contents

module ActiveRecord
  module ConnectionAdapters
    module SQLServer
      class SchemaDumper < ConnectionAdapters::SchemaDumper

        SQLSEVER_NO_LIMIT_TYPES = [
          'text',
          'ntext',
          'varchar(max)',
          'nvarchar(max)',
          'varbinary(max)'
        ].freeze

        private

        def explicit_primary_key_default?(column)
          column.is_primary? && !column.is_identity?
        end

        def schema_limit(column)
          return if SQLSEVER_NO_LIMIT_TYPES.include?(column.sql_type)
          super
        end

        def schema_collation(column)
          return unless column.collation
          column.collation if column.collation != @connection.collation
        end

        def default_primary_key?(column)
          super && column.is_primary? && column.is_identity?
        end

      end
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
activerecord-jdbcsqlserver-adapter-52.0.0 lib/active_record/connection_adapters/sqlserver/schema_dumper.rb
activerecord-sqlserver-adapter-5.2.1 lib/active_record/connection_adapters/sqlserver/schema_dumper.rb
activerecord-sqlserver-adapter-5.2.0 lib/active_record/connection_adapters/sqlserver/schema_dumper.rb
activerecord-sqlserver-adapter-5.2.0.rc2 lib/active_record/connection_adapters/sqlserver/schema_dumper.rb
activerecord-sqlserver-adapter-5.2.0.rc1 lib/active_record/connection_adapters/sqlserver/schema_dumper.rb