pgsync 0.6.5 → 0.6.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of pgsync might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e3ef4779b0d0962cfb0a23bb8e1ec4e6a03923e1324a77280499d3c023aa7673
4
- data.tar.gz: 59aa2f0868e3a1a920547326a49b86460ab2d8349eb0be68989899ca3bf7ada2
3
+ metadata.gz: 1097ac9939cf312566746d7d3ff06604ee5997c9e2b85ae38f7d46d77dbdefc9
4
+ data.tar.gz: 06b70ef312aa796c9bf083b89a7cd6ff3c8a99920d8b1eabdd290cd67d956559
5
5
  SHA512:
6
- metadata.gz: 9c6761c05533930479d39fcc318bd1c2601afa06ba50379c94bdaa69e3751fa3229559aa31806778cf17bdf79af0510bdbcb5d0c33dd6e4fdb1e164cda9ea49f
7
- data.tar.gz: f8509b918137d97f80044ecac181a9499c128891d33467d91f2f74e6e49248f2ebbacee8bf6233c959c923d583ef8e14cd76b25d19b6b58c0d4166a7cc81af56
6
+ metadata.gz: 815aeffa2bd01469b0fbc229a25b8f2ff8b69f28c3bfac21c61f571875bf74914cdaabfe9150d3db271ac2f10dcef4c0c4f542b72f306618b4b2a0985d59d388
7
+ data.tar.gz: 128cd39679c96354d93213e611d679275d2c3de75a29b847aa8cb911c03d13f3b9231f7318a5ea3a4b8bc98684eb6a3ed07975159a9d89ee4aa2ac53746365f7
@@ -1,3 +1,7 @@
1
+ ## 0.6.6 (2020-10-29)
2
+
3
+ - Added support for tables with generated columns
4
+
1
5
  ## 0.6.5 (2020-07-10)
2
6
 
3
7
  - Improved help
@@ -141,6 +141,8 @@ module PgSync
141
141
  data_type AS type
142
142
  FROM
143
143
  information_schema.columns
144
+ WHERE
145
+ is_generated = 'NEVER'
144
146
  ORDER BY 1, 2, 3
145
147
  SQL
146
148
  data_source.execute(query).group_by { |r| Table.new(r["schema"], r["table"]) }.map do |k, v|
@@ -140,9 +140,13 @@ module PgSync
140
140
  "NOTHING"
141
141
  else # overwrite or sql clause
142
142
  setter = shared_fields.reject { |f| primary_key.include?(f) }.map { |f| "#{quote_ident(f)} = EXCLUDED.#{quote_ident(f)}" }
143
- "UPDATE SET #{setter.join(", ")}"
143
+ if setter.any?
144
+ "UPDATE SET #{setter.join(", ")}"
145
+ else
146
+ "NOTHING"
147
+ end
144
148
  end
145
- destination.execute("INSERT INTO #{quoted_table} (SELECT * FROM #{quote_ident_full(temp_table)}) ON CONFLICT (#{on_conflict}) DO #{action}")
149
+ destination.execute("INSERT INTO #{quoted_table} (#{fields}) (SELECT #{fields} FROM #{quote_ident_full(temp_table)}) ON CONFLICT (#{on_conflict}) DO #{action}")
146
150
  else
147
151
  # use delete instead of truncate for foreign keys
148
152
  if opts[:defer_constraints] || opts[:defer_constraints_v2]
@@ -1,3 +1,3 @@
1
1
  module PgSync
2
- VERSION = "0.6.5"
2
+ VERSION = "0.6.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pgsync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.5
4
+ version: 0.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-10 00:00:00.000000000 Z
11
+ date: 2020-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel
@@ -108,7 +108,7 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
- description:
111
+ description:
112
112
  email: andrew@chartkick.com
113
113
  executables:
114
114
  - pgsync
@@ -137,7 +137,7 @@ homepage: https://github.com/ankane/pgsync
137
137
  licenses:
138
138
  - MIT
139
139
  metadata: {}
140
- post_install_message:
140
+ post_install_message:
141
141
  rdoc_options: []
142
142
  require_paths:
143
143
  - lib
@@ -152,8 +152,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
154
  requirements: []
155
- rubygems_version: 3.1.2
156
- signing_key:
155
+ rubygems_version: 3.1.4
156
+ signing_key:
157
157
  specification_version: 4
158
158
  summary: Sync Postgres data between databases
159
159
  test_files: []