pg_saurus 6.0.0 → 6.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5a8ddb3d62425c2f23a5fdf1b329d7a84be0129ab1be67bb87ca0a5150994720
4
- data.tar.gz: 13cf5197c303baa0c95bf53d44d582e0c783ade8694329be03de7397cd53e46f
3
+ metadata.gz: 9875c3cdffb8f2d496539d99a81de258a72c820fc21c4e2941f288c2063d3470
4
+ data.tar.gz: acb8edcb2354ce71888d9367edfd981fd4d19ecb3fd347286c69fab82cf3dc1d
5
5
  SHA512:
6
- metadata.gz: fb9565fa59ab7b6cbd3087e0d1a63b57f14832a2987e17ab010db47ff8ee46fa6b272d3e8b001c62b3ad699327b1a4151a1d5d64cc7552486129cb8e4cef2aca
7
- data.tar.gz: 51ad1458b2cfebec850f8ef9144a4613a11598824b29e77a53dd06cacddd0c1e0bb3cb1dba7fcdbeb66c7ecbccbb6c16ca220bf8712aa8ba1944edfda9b50c0e
6
+ metadata.gz: 915b2e091c2b4e696ccb3c1128b792729bc79090af93f2d053eb3aa96d04320774b24a18c6adc12e50fcd9a81295cc9f9bd95177317714acd27ea0a1e59ef8ed
7
+ data.tar.gz: 988ee22b6138d8b6151f2c5e1f078d88f20718ead4ab410ad1edba7a795988bf1afc24321e387abcc90c3a150147be40059984ac9af8562d8f21514140c24b8a
@@ -264,9 +264,6 @@ module ActiveRecord
264
264
 
265
265
 
266
266
  # Overrides https://github.com/rails/rails/blob/v7.2.2.2/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb#L923
267
- #
268
- # == Patch 1:
269
- # Remove schema name part from table name when sequence name doesn't include it.
270
267
  def new_column_from_field(table_name, field, ...)
271
268
  column_name, type, default, notnull, oid, fmod, collation, comment, identity, attgenerated = field
272
269
  type_metadata = fetch_type_metadata(column_name, type, oid.to_i, fmod.to_i)
@@ -279,19 +276,35 @@ module ActiveRecord
279
276
  end
280
277
 
281
278
  if match = default_function&.match(/\Anextval\('"?(?<sequence_name>.+_(?<suffix>seq\d*))"?'::regclass\)\z/)
279
+ # Begin patch
280
+ # Remove schema name part from table name when sequence name doesn't include it.
282
281
  sequence_name = match[:sequence_name]
283
282
  is_schema_name_included = sequence_name.split(".").size > 1
284
283
  _table_name = is_schema_name_included ? table_name : table_name.split(".").last
285
284
 
286
285
  serial = sequence_name_from_parts(_table_name, column_name, match[:suffix]) == sequence_name
286
+ # End patch
287
287
  end
288
288
 
289
- PostgreSQL::Column.new(
289
+ column_args = [
290
290
  column_name,
291
291
  default_value,
292
292
  type_metadata,
293
293
  !notnull,
294
294
  default_function,
295
+ ]
296
+
297
+ if Rails.gem_version >= "8.1"
298
+ # https://github.com/rails/rails/pull/54333
299
+ # https://github.com/rails/rails/blob/v8.1.3/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb#L1020
300
+ column_args.insert(
301
+ 1,
302
+ get_oid_type(oid.to_i, fmod.to_i, column_name, type),
303
+ )
304
+ end
305
+
306
+ PostgreSQL::Column.new(
307
+ *column_args,
295
308
  collation: collation,
296
309
  comment: comment.presence,
297
310
  serial: serial,
@@ -5,7 +5,13 @@ module PgSaurus::SchemaDumper::SchemaMethods
5
5
  # Overrides https://github.com/rails/rails/blob/v7.2.2.2/activerecord/lib/active_record/schema_dumper.rb#L95
6
6
  def header(stream)
7
7
  super
8
- dump_schemas(stream)
8
+ dump_all_schemas(stream)
9
+ end
10
+
11
+ # Remove per-schema dumping logic from https://github.com/rails/rails/pull/50020
12
+ # https://github.com/rails/rails/blob/v8.1.3/activerecord/lib/active_record/connection_adapters/postgresql/schema_dumper.rb#L142
13
+ def within_each_schema
14
+ yield
9
15
  end
10
16
 
11
17
  # Overrides https://github.com/rails/rails/blob/v7.2.2.2/activerecord/lib/active_record/connection_adapters/postgresql/schema_dumper.rb#L31
@@ -15,19 +21,12 @@ module PgSaurus::SchemaDumper::SchemaMethods
15
21
  end
16
22
 
17
23
  # Generates code to create schemas.
18
- def dump_schemas(stream)
24
+ private def dump_all_schemas(stream)
19
25
  # Don't create "public" schema since it exists by default.
20
- schema_names = PgSaurus::Tools.schemas - ["public", "information_schema"]
26
+ schema_names = PgSaurus::Tools.schemas - %w[public information_schema]
21
27
  schema_names.each do |schema_name|
22
- dump_schema(schema_name, stream)
28
+ stream.puts %( create_schema_if_not_exists "#{schema_name}")
23
29
  end
24
30
  stream.puts
25
31
  end
26
- private :dump_schemas
27
-
28
- # Generates code to create schema.
29
- def dump_schema(schema_name, stream)
30
- stream.puts %( create_schema_if_not_exists "#{schema_name}")
31
- end
32
- private :dump_schema
33
32
  end
@@ -1,4 +1,4 @@
1
1
  module PgSaurus
2
2
  # Version of pg_saurus gem.
3
- VERSION = "6.0.0"
3
+ VERSION = "6.1.1"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_saurus
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0
4
+ version: 6.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Potapov Sergey
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2025-10-29 00:00:00.000000000 Z
16
+ date: 2026-07-13 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: pg
@@ -47,56 +47,56 @@ dependencies:
47
47
  name: railties
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
- - - "<"
50
+ - - "~>"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '8'
53
53
  type: :runtime
54
54
  prerelease: false
55
55
  version_requirements: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - "<"
57
+ - - "~>"
58
58
  - !ruby/object:Gem::Version
59
59
  version: '8'
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: activemodel
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - "<"
64
+ - - "~>"
65
65
  - !ruby/object:Gem::Version
66
66
  version: '8'
67
67
  type: :runtime
68
68
  prerelease: false
69
69
  version_requirements: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - "<"
71
+ - - "~>"
72
72
  - !ruby/object:Gem::Version
73
73
  version: '8'
74
74
  - !ruby/object:Gem::Dependency
75
75
  name: activerecord
76
76
  requirement: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - "<"
78
+ - - "~>"
79
79
  - !ruby/object:Gem::Version
80
80
  version: '8'
81
81
  type: :runtime
82
82
  prerelease: false
83
83
  version_requirements: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - "<"
85
+ - - "~>"
86
86
  - !ruby/object:Gem::Version
87
87
  version: '8'
88
88
  - !ruby/object:Gem::Dependency
89
89
  name: activesupport
90
90
  requirement: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - "<"
92
+ - - "~>"
93
93
  - !ruby/object:Gem::Version
94
94
  version: '8'
95
95
  type: :runtime
96
96
  prerelease: false
97
97
  version_requirements: !ruby/object:Gem::Requirement
98
98
  requirements:
99
- - - "<"
99
+ - - "~>"
100
100
  - !ruby/object:Gem::Version
101
101
  version: '8'
102
102
  - !ruby/object:Gem::Dependency