diff options
author | Bob Lail <bob.lailfamily@gmail.com> | 2019-04-04 07:35:04 -0500 |
---|---|---|
committer | Bob Lail <bob.lailfamily@gmail.com> | 2019-04-08 08:01:40 -0500 |
commit | c24efdbd2720bd4d936a3ffab0c22af0a718d2f1 (patch) | |
tree | e3f234d04ca0c06847c236b5c959aeb8af1e1953 /activerecord/lib/active_record/touch_later.rb | |
parent | bf1494a1018a0bdc50dac4e87fdbf4b6b03083fa (diff) | |
download | rails-c24efdbd2720bd4d936a3ffab0c22af0a718d2f1.tar.gz rails-c24efdbd2720bd4d936a3ffab0c22af0a718d2f1.tar.bz2 rails-c24efdbd2720bd4d936a3ffab0c22af0a718d2f1.zip |
When skipping duplicates in bulk insert on MySQL, avoid assigning id when not specified
If `id` is an `AUTONUMBER` column, then my former strategy here of assigning `no_op_column` to an arbitrary column would fail in this specific scenario:
1. `model.columns.first` is an AUTONUMBER column
2. `model.columns.first` is not assigned in the insert attributes
I added three tests: the first test covers the actual error; the second test documents that this _isn't_ a problem when a value is given for the AUTONUMBER column and the third test ensures that this no-op strategy isn't secretly doing an UPSERT.
Diffstat (limited to 'activerecord/lib/active_record/touch_later.rb')
0 files changed, 0 insertions, 0 deletions