gamma_replication 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2c388f3c2fc5c5b7b1bad0f7b2c6d9f249883979710b2f81b1f405a5557ec201
4
- data.tar.gz: 78d48d17c39c15b838c6e2a4a842473dda65711eaa8f6e21ae11de8314c4d945
3
+ metadata.gz: b68929290d56de956de9597cfbdb9c6c7e2574f26489b5b55fc0223aa7d3c6ad
4
+ data.tar.gz: 550aa21f4800a9da12f9d4f7b5bb4565a999321623d700cb74ae360bac461ae5
5
5
  SHA512:
6
- metadata.gz: 7615b3b2e9cc4fdf11139303436fbdf906c291a477ff8d09263a9773615f2bfeb7a742c093eb262138f79ff93d9aac148ceaa425c105a7653852e10d1dfc8580
7
- data.tar.gz: 57bc2df77112be468ed5a07361b2e45230fca972ef71d973a00f8aa4b99adafb968f3095275fb03f5d9be3bd2a8be540141460892f0f9f468a79369e15c2a1cc
6
+ metadata.gz: 73720919700ce8c4158bee20a58f375fe5a160ba1e44aa0f4348ed3f7ba0ba60d75c3224563579c65c5616dabd4f764b997c936dee029c12a2bade898f410028
7
+ data.tar.gz: 10cf80dc382210270080adf30148a7556938bb164633bce1336484f3fdf22be571622ab711e2289aefc7486b8d1c3ea54e12932a117af77540eda7ba73045023
@@ -79,7 +79,7 @@ module GammaReplication
79
79
  record = data["data"]
80
80
  processed_record = apply_hooks(table_setting, record)
81
81
 
82
- columns = processed_record.keys
82
+ columns = processed_record.keys.map { |k| "`#{k}`" }
83
83
  values = processed_record.values.map { |v| format_value(v) }
84
84
 
85
85
  query = "INSERT INTO #{table_setting.table_name} (#{columns.join(",")}) VALUES (#{values.join(",")})"
@@ -91,7 +91,7 @@ module GammaReplication
91
91
  old_record = data["old"]
92
92
  processed_record = apply_hooks(table_setting, record)
93
93
 
94
- set_clause = processed_record.map { |k, v| "#{k} = #{format_value(v)}" }.join(",")
94
+ set_clause = processed_record.map { |k, v| "`#{k}` = #{format_value(v)}" }.join(",")
95
95
  where_clause = build_where_clause(old_record, record, table_setting.primary_key)
96
96
 
97
97
  query = "UPDATE #{table_setting.table_name} SET #{set_clause} WHERE #{where_clause}"
@@ -116,9 +116,11 @@ module GammaReplication
116
116
 
117
117
  def build_where_clause(old_record, new_record, primary_key)
118
118
  if old_record.present? && old_record[primary_key].present?
119
- "#{primary_key} = #{format_value(old_record[primary_key])}"
119
+ "`#{primary_key}` = #{format_value(old_record[primary_key])}"
120
+ elsif new_record.present? && new_record[primary_key].present?
121
+ "`#{primary_key}` = #{format_value(new_record[primary_key])}"
120
122
  else
121
- "#{primary_key} = #{format_value(new_record[primary_key])}"
123
+ raise "Primary key not found in record. old_record: #{old_record.inspect}, new_record: #{new_record.inspect}"
122
124
  end
123
125
  end
124
126
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GammaReplication
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gamma_replication
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shinsuke Nishio
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-20 00:00:00.000000000 Z
11
+ date: 2025-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport