File tree Expand file tree Collapse file tree 3 files changed +27
-3
lines changed
lib/active_record/connection_adapters/sqlite3 Expand file tree Collapse file tree 3 files changed +27
-3
lines changed Original file line number Diff line number Diff line change @@ -138,7 +138,11 @@ def returning_column_values(result)
138
138
end
139
139
140
140
def default_insert_value ( column )
141
- column . default
141
+ if column . default_function
142
+ Arel . sql ( column . default_function )
143
+ else
144
+ column . default
145
+ end
142
146
end
143
147
end
144
148
end
Original file line number Diff line number Diff line change 6
6
require "models/admin/account"
7
7
require "models/admin/randomly_named_c1"
8
8
require "models/admin/user"
9
+ require "models/aircraft"
9
10
require "models/author"
10
11
require "models/binary"
11
12
require "models/book"
@@ -112,8 +113,6 @@ def test_bulk_insert_multiple_table_with_a_multi_statement_query
112
113
end
113
114
114
115
def test_bulk_insert_with_a_multi_statement_query_raises_an_exception_when_any_insert_fails
115
- require "models/aircraft"
116
-
117
116
assert_equal false , Aircraft . columns_hash [ "wheels_count" ] . null
118
117
fixtures = {
119
118
"aircraft" => [
@@ -478,6 +477,20 @@ def test_insert_with_datetime
478
477
assert first
479
478
end
480
479
480
+ def test_insert_with_default_function
481
+ create_fixtures ( "aircrafts" )
482
+
483
+ aircraft = Aircraft . find_by ( name : "boeing-with-no-manufactured-at" )
484
+ assert_equal Time . now . utc . strftime ( "%Y-%m-%d %H:%M:%S" ) , aircraft . manufactured_at . strftime ( "%Y-%m-%d %H:%M:%S" )
485
+ end
486
+
487
+ def test_insert_with_default_value
488
+ create_fixtures ( "aircrafts" )
489
+
490
+ aircraft = Aircraft . find_by ( name : "boeing-with-no-wheels" )
491
+ assert_equal 0 , aircraft . wheels_count
492
+ end
493
+
481
494
def test_logger_level_invariant
482
495
previous_logger = ActiveRecord ::Base . logger
483
496
ActiveRecord ::Base . logger = ActiveSupport ::Logger . new ( nil )
Original file line number Diff line number Diff line change
1
+ no_wheels :
2
+ name : boeing-with-no-wheels
3
+ manufactured_at : 2024-01-01
4
+
5
+ no_manufactured_at :
6
+ name : boeing-with-no-manufactured-at
7
+ wheels_count : 2
You can’t perform that action at this time.
0 commit comments