activerecord-import выполняет несколько запросов - PullRequest
0 голосов
/ 23 апреля 2020

Ниже приведена конфигурация моего проекта:

  • приложение 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=[]>

Как мне решить эту проблему, или любое другое предложение или любые альтернативы, чтобы он выполнял только один запрос?

...