From ec1e8e158870581cedeaab5be86ace310093f370 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 12 Aug 2025 16:10:15 -0400 Subject: [PATCH 1/3] Use `record_timestamps` instead of local time var in form::import#save --- app/models/form/import.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/models/form/import.rb b/app/models/form/import.rb index 3cc4af064ff..5f67d9cc7bf 100644 --- a/app/models/form/import.rb +++ b/app/models/form/import.rb @@ -67,9 +67,8 @@ class Form::Import return false unless valid? ApplicationRecord.transaction do - now = Time.now.utc @bulk_import = current_account.bulk_imports.create(type: type, overwrite: overwrite || false, state: :unconfirmed, original_filename: data.original_filename, likely_mismatched: likely_mismatched?) - nb_items = BulkImportRow.insert_all(parsed_rows.map { |row| { bulk_import_id: bulk_import.id, data: row, created_at: now, updated_at: now } }).length + nb_items = BulkImportRow.insert_all(parsed_rows.map { |row| { bulk_import_id: bulk_import.id, data: row } }, record_timestamps: true).length @bulk_import.update(total_items: nb_items) end end From 22d2c1b60abedec52e72deb8c8f09035150acae9 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 15 Aug 2025 09:25:33 -0400 Subject: [PATCH 2/3] Typo fix --- app/models/bulk_import.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/bulk_import.rb b/app/models/bulk_import.rb index e3e46d7b1c6..8435c245a23 100644 --- a/app/models/bulk_import.rb +++ b/app/models/bulk_import.rb @@ -53,7 +53,7 @@ class BulkImport < ApplicationRecord BulkImport.increment_counter(:processed_items, bulk_import_id) BulkImport.increment_counter(:imported_items, bulk_import_id) if imported - # Since the incrementation has been done atomically, concurrent access to `bulk_import` is now bening + # Since the incrementation has been done atomically, concurrent access to `bulk_import` is now benign bulk_import = BulkImport.find(bulk_import_id) bulk_import.update!(state: :finished, finished_at: Time.now.utc) if bulk_import.processed_items == bulk_import.total_items end From 8d660212aa71ebb0f3e44138094b25a4ec3b70ef Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 15 Aug 2025 09:26:04 -0400 Subject: [PATCH 3/3] Run through association --- app/models/form/import.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/form/import.rb b/app/models/form/import.rb index 5f67d9cc7bf..9d72de54129 100644 --- a/app/models/form/import.rb +++ b/app/models/form/import.rb @@ -68,7 +68,7 @@ class Form::Import ApplicationRecord.transaction do @bulk_import = current_account.bulk_imports.create(type: type, overwrite: overwrite || false, state: :unconfirmed, original_filename: data.original_filename, likely_mismatched: likely_mismatched?) - nb_items = BulkImportRow.insert_all(parsed_rows.map { |row| { bulk_import_id: bulk_import.id, data: row } }, record_timestamps: true).length + nb_items = @bulk_import.rows.insert_all(parsed_rows.map { |row| { data: row } }, record_timestamps: true).length @bulk_import.update(total_items: nb_items) end end