Permalink
Browse files

Merge pull request #10482 from scudco/10432-fix-add-column-with-array

Fixes #10432 add_column not creating array columns in PostgreSQL
  • Loading branch information...
2 parents 3970432 + e4fe497 commit 9d728cd70810eed775c77446d9a3bccc1081d3cd @tenderlove tenderlove committed Jun 5, 2013
@@ -1,3 +1,7 @@
+* Fix `add_column` with `array` option when using PostgreSQL. Fixes #10432
+
+ *Adam Anderson*
+
* Usage of `implicit_readonly` is being removed`. Please use `readonly` method
explicitly to mark records as `readonly.
Fixes #10615.
@@ -269,6 +269,7 @@ def new_column_definition(name, type, options) # :nodoc:
end
column.limit = limit
+ column.array = options[:array] if column.respond_to?(:array)
column.precision = options[:precision]
column.scale = options[:scale]
column.default = options[:default]
@@ -74,6 +74,35 @@ def test_create_table_with_defaults
assert_equal "hello", five.default unless mysql
end
+ def test_add_column_with_array
+ if current_adapter?(:PostgreSQLAdapter)
+ connection.create_table :testings
+ connection.add_column :testings, :foo, :string, :array => true
+
+ columns = connection.columns(:testings)
+ array_column = columns.detect { |c| c.name == "foo" }
+
+ assert array_column.array
+ else
+ skip "array option only supported in PostgreSQLAdapter"
+ end
+ end
+
+ def test_create_table_with_array_column
+ if current_adapter?(:PostgreSQLAdapter)
+ connection.create_table :testings do |t|
+ t.string :foo, :array => true
+ end
+
+ columns = connection.columns(:testings)
+ array_column = columns.detect { |c| c.name == "foo" }
+
+ assert array_column.array
+ else
+ skip "array option only supported in PostgreSQLAdapter"
+ end
+ end
+
def test_create_table_with_limits
connection.create_table :testings do |t|
t.column :foo, :string, :limit => 255

0 comments on commit 9d728cd

Please sign in to comment.