File tree Expand file tree Collapse file tree 2 files changed +13
-1
lines changed
lib/active_record/connection_adapters Expand file tree Collapse file tree 2 files changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -644,7 +644,7 @@ def build_insert_sql(insert) # :nodoc:
644
644
# MySQL 8.0.19 replaces `VALUES(<expression>)` clauses with row and column alias names, see https://dev.mysql.com/worklog/task/?id=6312 .
645
645
# then MySQL 8.0.20 deprecates the `VALUES(<expression>)` see https://dev.mysql.com/worklog/task/?id=13325 .
646
646
if supports_insert_raw_alias_syntax?
647
- values_alias = quote_table_name ( "#{ insert . model . table_name } _values" )
647
+ values_alias = quote_table_name ( "#{ insert . model . table_name . parameterize } _values" )
648
648
sql = +"INSERT #{ insert . into } #{ insert . values_list } AS #{ values_alias } "
649
649
650
650
if insert . skip_duplicates?
Original file line number Diff line number Diff line change @@ -811,6 +811,18 @@ def test_upsert_all_with_unique_by_fails_cleanly_for_adapters_not_supporting_ins
811
811
assert_match "#{ ActiveRecord ::Base . lease_connection . class } does not support :unique_by" , error . message
812
812
end
813
813
814
+ if current_adapter? ( :Mysql2Adapter , :TrilogyAdapter )
815
+ def test_insert_all_when_table_name_contains_database
816
+ database_name = Book . connection_db_config . database
817
+ Book . table_name = "#{ database_name } .books"
818
+
819
+ assert_nothing_raised do
820
+ Book . insert_all! [ { name : "Rework" , author_id : 1 } ]
821
+ end
822
+ Book . table_name = "books"
823
+ end
824
+ end
825
+
814
826
private
815
827
def capture_log_output
816
828
output = StringIO . new
You can’t perform that action at this time.
0 commit comments