Ниже приведена конфигурация моего проекта:
- приложение Rails построено на j ruby
- Rails версии 5.2
- с использованием mysql2 с помощью activerecord-jdb cmysql -адаптер и jdb c - mysql gem
Я интегрировал Приложение Rails с activerecord-import gem, так что я могу оптимизировать количество выполненных запросов.
Но когда я выполняю следующий код:
au1 = AlphaUser.new({email: 'a@test.com'})
au2 = AlphaUser.new({code: 'b@test.com'})
NavbarNotificationTemplate.import [au1, au2]
Он генерирует несколько запросов. Ниже приводится вывод:
irb(main):004:0> AlphaUser.import [AlphaUser.new(email: 'a@test.com'), AlphaUser.new(email: 'b@test.com')]
(1.1ms) BEGIN TRANSACTION
(7.6ms) INSERT INTO `alpha_users` (`id`,`email`,`created_at`,`updated_at`) VALUES (NULL,'a@test.com','2020-04-23 12:35:49','2020-04-23 12:35:49')
(0.9ms) INSERT INTO `alpha_users` (`id`,`email`,`created_at`,`updated_at`) VALUES (NULL,'b@test.com','2020-04-23 12:35:49','2020-04-23 12:35:49')
(5.3ms) COMMIT TRANSACTION
=> #<struct ActiveRecord::Import::Result failed_instances=[], num_inserts=2, ids=[1, 2], results=[]>
Как мне решить эту проблему, или любое другое предложение или любые альтернативы, чтобы он выполнял только один запрос?