From 7c2c9bb102eed72667a0aac03f2351c3f4e3f6a5 Mon Sep 17 00:00:00 2001 From: Daniel Orner Date: Tue, 26 Mar 2024 09:15:00 -0400 Subject: [PATCH 1/3] Fix: ActiveRecordConsumer batch consumption was not working with the trilogy adapter. --- CHANGELOG.md | 3 +++ deimos-ruby.gemspec | 1 + lib/deimos/active_record_consume/mass_updater.rb | 3 ++- lib/deimos/version.rb | 2 +- spec/spec_helper.rb | 7 +++++++ 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 318c1e78..9a7875c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## UNRELEASED +# 1.24.1 - 2024-03-26 +- Fix: ActiveRecordConsumer batch consumption was not working with the trilogy adapter. + # 1.24.0 - 2024-02-26 ***BREAKING CHANGE**** diff --git a/deimos-ruby.gemspec b/deimos-ruby.gemspec index 5b1fb8a8..394a8d2a 100644 --- a/deimos-ruby.gemspec +++ b/deimos-ruby.gemspec @@ -25,6 +25,7 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency('sigurd', '>= 0.1.0', '< 1.0') spec.add_development_dependency('activerecord-import') + spec.add_development_dependency('activerecord-trilogy-adapter', '> 0') spec.add_development_dependency('avro', '~> 1.9') spec.add_development_dependency('database_cleaner', '~> 1.7') spec.add_development_dependency('ddtrace', '>= 0.11') diff --git a/lib/deimos/active_record_consume/mass_updater.rb b/lib/deimos/active_record_consume/mass_updater.rb index 854eaf7f..515fb500 100644 --- a/lib/deimos/active_record_consume/mass_updater.rb +++ b/lib/deimos/active_record_consume/mass_updater.rb @@ -50,7 +50,8 @@ def save_records_to_database(record_list) options = if @key_cols.empty? {} # Can't upsert with no key, just do regular insert - elsif ActiveRecord::Base.connection.adapter_name.downcase =~ /mysql/ + elsif ActiveRecord::Base.connection.adapter_name.downcase =~ /mysql/ || + ActiveRecord::Base.connection.adapter_name.downcase =~ /trilogy/ { on_duplicate_key_update: columns } diff --git a/lib/deimos/version.rb b/lib/deimos/version.rb index 6d24678e..137b227c 100644 --- a/lib/deimos/version.rb +++ b/lib/deimos/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Deimos - VERSION = '1.24.0' + VERSION = '1.24.1' end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 16beb134..8e5184ee 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -94,6 +94,13 @@ def build_message(payload, topic, key) database: 'test', host: ENV['MYSQL_HOST'] || '127.0.0.1' }, + { + adapter: 'trilogy', + port: 3306, + username: 'root', + database: 'test', + host: ENV['MYSQL_HOST'] || '127.0.0.1' + }, { adapter: 'sqlite3', database: 'test.sqlite3' From 95fdf3335c51944d879dbd5a40c5f193cdcfa267 Mon Sep 17 00:00:00 2001 From: Daniel Orner Date: Tue, 26 Mar 2024 09:21:48 -0400 Subject: [PATCH 2/3] rubocop fix --- lib/deimos/active_record_consume/mass_updater.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/deimos/active_record_consume/mass_updater.rb b/lib/deimos/active_record_consume/mass_updater.rb index 515fb500..3ba95b10 100644 --- a/lib/deimos/active_record_consume/mass_updater.rb +++ b/lib/deimos/active_record_consume/mass_updater.rb @@ -51,7 +51,7 @@ def save_records_to_database(record_list) options = if @key_cols.empty? {} # Can't upsert with no key, just do regular insert elsif ActiveRecord::Base.connection.adapter_name.downcase =~ /mysql/ || - ActiveRecord::Base.connection.adapter_name.downcase =~ /trilogy/ + ActiveRecord::Base.connection.adapter_name.downcase =~ /trilogy/ { on_duplicate_key_update: columns } From e5a8c6575c2fa1c5104b50cedcdd3f9ae83d5350 Mon Sep 17 00:00:00 2001 From: Daniel Orner Date: Tue, 26 Mar 2024 09:29:58 -0400 Subject: [PATCH 3/3] version --- deimos-ruby.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deimos-ruby.gemspec b/deimos-ruby.gemspec index 394a8d2a..376fc8a0 100644 --- a/deimos-ruby.gemspec +++ b/deimos-ruby.gemspec @@ -25,7 +25,7 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency('sigurd', '>= 0.1.0', '< 1.0') spec.add_development_dependency('activerecord-import') - spec.add_development_dependency('activerecord-trilogy-adapter', '> 0') + spec.add_development_dependency('activerecord-trilogy-adapter') spec.add_development_dependency('avro', '~> 1.9') spec.add_development_dependency('database_cleaner', '~> 1.7') spec.add_development_dependency('ddtrace', '>= 0.11')