File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -240,7 +240,7 @@ def values_list
240
240
241
241
values_list = insert_all . map_key_with_value do |key , value |
242
242
next value if Arel ::Nodes ::SqlLiteral === value
243
- connection . with_yaml_fallback ( types [ key ] . serialize ( value ) )
243
+ types [ key ] . serialize ( types [ key ] . cast ( value ) )
244
244
end
245
245
246
246
connection . visitor . compile ( Arel ::Nodes ::ValuesList . new ( values_list ) )
Original file line number Diff line number Diff line change @@ -47,6 +47,17 @@ def test_insert!
47
47
end
48
48
end
49
49
50
+ def test_insert_with_type_casting_and_serialize_is_consistent
51
+ skip unless supports_insert_returning?
52
+
53
+ book_name = [ "Array" ]
54
+ created_book_id = Book . create! ( name : book_name ) . id
55
+ inserted_book_id = Book . insert! ( { name : book_name } , returning : :id ) . first [ "id" ]
56
+ raw_created_book_name = Book . connection . select_value ( Book . select ( :name ) . where ( id : created_book_id ) )
57
+ raw_inserted_book_name = Book . connection . select_value ( Book . select ( :name ) . where ( id : inserted_book_id ) )
58
+ assert_equal raw_created_book_name , raw_inserted_book_name
59
+ end
60
+
50
61
def test_insert_all
51
62
assert_difference "Book.count" , +10 do
52
63
Book . insert_all! [
You can’t perform that action at this time.
0 commit comments