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