Flowdock
method

warn_if_deprecated_type

Importance_0
Ruby on Rails latest stable (v6.1.7.7) - 0 notes - Class: ClassMethods
warn_if_deprecated_type(column) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/model_schema.rb, line 620
        def warn_if_deprecated_type(column)
          return if attributes_to_define_after_schema_loads.key?(column.name)
          return unless column.respond_to?(:oid)

          if column.array?
            array_arguments = ", array: true"
          else
            array_arguments = ""
          end

          if column.sql_type.start_with?("interval")
            precision_arguments = column.precision.presence && ", precision: #{column.precision}"
            ActiveSupport::Deprecation.warn(<<~WARNING)
              The behavior of the `:interval` type will be changing in Rails 7.0
              to return an `ActiveSupport::Duration` object. If you'd like to keep
              the old behavior, you can add this line to #{self.name} model:

                attribute :#{column.name}, :string#{precision_arguments}#{array_arguments}

              If you'd like the new behavior today, you can add this line:

                attribute #{column.name}, :interval#{precision_arguments}#{array_arguments}#{column.name}, :interval#{precision_arguments}#{array_arguments}
            WARNING
          end
        end
Register or log in to add new notes.