Sha256: 9b5717c3f95ce649c0f482d76895758a85d35290fdd0120c16cca32fdb7b3063

Contents?: true

Size: 800 Bytes

Versions: 10

Compression:

Stored size: 800 Bytes

Contents

# frozen_string_literal: true

module ActiveRecord
  module ConnectionAdapters
    module PostgreSQL
      class SchemaCreation < AbstractAdapter::SchemaCreation # :nodoc:
        private
          def visit_AlterTable(o)
            super << o.constraint_validations.map { |fk| visit_ValidateConstraint fk }.join(" ")
          end

          def visit_AddForeignKey(o)
            super.dup.tap { |sql| sql << " NOT VALID" unless o.validate? }
          end

          def visit_ValidateConstraint(name)
            "VALIDATE CONSTRAINT #{quote_column_name(name)}"
          end

          def add_column_options!(sql, options)
            if options[:collation]
              sql << " COLLATE \"#{options[:collation]}\""
            end
            super
          end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
activerecord-5.2.2.1 lib/active_record/connection_adapters/postgresql/schema_creation.rb
nullifyable-0.1.0 vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/schema_creation.rb
activerecord-5.2.2 lib/active_record/connection_adapters/postgresql/schema_creation.rb
activerecord-5.2.2.rc1 lib/active_record/connection_adapters/postgresql/schema_creation.rb
activerecord-5.2.1.1 lib/active_record/connection_adapters/postgresql/schema_creation.rb
activerecord-5.2.1 lib/active_record/connection_adapters/postgresql/schema_creation.rb
activerecord-5.2.1.rc1 lib/active_record/connection_adapters/postgresql/schema_creation.rb
activerecord-5.2.0 lib/active_record/connection_adapters/postgresql/schema_creation.rb
activerecord-5.2.0.rc2 lib/active_record/connection_adapters/postgresql/schema_creation.rb
activerecord-5.2.0.rc1 lib/active_record/connection_adapters/postgresql/schema_creation.rb