aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb14
1 files changed, 13 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
index 36f282d22a..1a633dcc00 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
@@ -5,6 +5,7 @@ module ActiveRecord
# An abstract definition of a column in a table.
class Column
attr_reader :name, :default, :type, :limit, :null
+ attr_accessor :primary
# Instantiates a new column in the table.
#
@@ -16,7 +17,18 @@ module ActiveRecord
@name, @type, @null = name, simplified_type(sql_type), null
# have to do this one separately because type_cast depends on #type
@default = type_cast(default)
- @limit = extract_limit(sql_type) unless sql_type.nil?
+ @limit = extract_limit(sql_type) unless sql_type.nil?
+ @primary = nil
+ @text = [:string, :text].include? @type
+ @number = [:float, :integer].include? @type
+ end
+
+ def text?
+ @text
+ end
+
+ def number?
+ @number
end
# Returns the Ruby class that corresponds to the abstract data type.