Sha256: 1aaa70b1fe71bda20c2d4c0c2ce0727e2dc3ccd22f3acc9f26d9e30f34065747

Contents?: true

Size: 895 Bytes

Versions: 14

Compression:

Stored size: 895 Bytes

Contents

# frozen_string_literal: true

module ActiveRecord
  module ConnectionAdapters
    module SQLite3
      class SchemaCreation < SchemaCreation # :nodoc:
        private
          def visit_ForeignKeyDefinition(o)
            super.dup.tap do |sql|
              sql << " DEFERRABLE INITIALLY #{o.deferrable.to_s.upcase}" if o.deferrable
            end
          end

          def supports_index_using?
            false
          end

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

            if as = options[:as]
              sql << " GENERATED ALWAYS AS (#{as})"

              if options[:stored]
                sql << " STORED"
              else
                sql << " VIRTUAL"
              end
            end
            super
          end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
activerecord-8.0.2 lib/active_record/connection_adapters/sqlite3/schema_creation.rb
activerecord-8.0.1 lib/active_record/connection_adapters/sqlite3/schema_creation.rb
activerecord-8.0.0.1 lib/active_record/connection_adapters/sqlite3/schema_creation.rb
activerecord-8.0.0 lib/active_record/connection_adapters/sqlite3/schema_creation.rb
activerecord-8.0.0.rc2 lib/active_record/connection_adapters/sqlite3/schema_creation.rb
activerecord-8.0.0.rc1 lib/active_record/connection_adapters/sqlite3/schema_creation.rb
activerecord-8.0.0.beta1 lib/active_record/connection_adapters/sqlite3/schema_creation.rb
omg-activerecord-8.0.0.alpha9 lib/active_record/connection_adapters/sqlite3/schema_creation.rb
omg-activerecord-8.0.0.alpha8 lib/active_record/connection_adapters/sqlite3/schema_creation.rb
omg-activerecord-8.0.0.alpha7 lib/active_record/connection_adapters/sqlite3/schema_creation.rb
omg-activerecord-8.0.0.alpha4 lib/active_record/connection_adapters/sqlite3/schema_creation.rb
omg-activerecord-8.0.0.alpha3 lib/active_record/connection_adapters/sqlite3/schema_creation.rb
omg-activerecord-8.0.0.alpha2 lib/active_record/connection_adapters/sqlite3/schema_creation.rb
omg-activerecord-8.0.0.alpha1 lib/active_record/connection_adapters/sqlite3/schema_creation.rb