que-schema 0.1.3 → 0.1.4
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 +4 -4
- data/CHANGELOG.md +5 -13
- data/Gemfile.lock +1 -1
- data/lib/que_schema/schema_dumper.rb +8 -0
- data/lib/que_schema/version.rb +1 -1
- data/spec/schema_dumper_spec.rb +36 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 539498be1f604e4c6c861625da853bc839f9180568e3711a80bba9d7eb307a74
|
|
4
|
+
data.tar.gz: e5af896433efb7f6f91eb5cafc09012286307b67b56b5ab186452a12437d05ef
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 14ee67ec7ef19298088ea7ca10a3282dbf466f226acab5852308ae56c18f63e0ea32c035cc5333840e38729e2b2bed5459043198f1ba1f3742829118048f470b
|
|
7
|
+
data.tar.gz: adbc82bcb5fa30c7a10419920c1a98ee4cb045a603710c91a9384b6c7cb88a23c52784d11476c77a80c6a7361bb4fe2de5cfdcd5aa6debb2d00d207aca299b14
|
data/CHANGELOG.md
CHANGED
|
@@ -2,22 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
## [0.1.
|
|
5
|
+
## [0.1.4] - 2026-04-01
|
|
6
6
|
|
|
7
|
-
###
|
|
7
|
+
### Fixed
|
|
8
8
|
|
|
9
|
-
-
|
|
9
|
+
- Foreign keys between Que-managed tables appearing in schema.rb (860ae38)
|
|
10
10
|
|
|
11
|
-
## [0.1.
|
|
11
|
+
## [0.1.3] - 2026-04-01
|
|
12
12
|
|
|
13
13
|
### Added
|
|
14
14
|
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
### Fixed
|
|
18
|
-
|
|
19
|
-
- Duplicate trigger errors during db:schema:load (629c074)
|
|
20
|
-
|
|
21
|
-
### Changed
|
|
22
|
-
|
|
23
|
-
- SchemaDumper prepend timing for correct ancestor order (629c074)
|
|
15
|
+
- Automatic que-scheduler schema management when que-scheduler gem is present (2bf5b3b)
|
data/Gemfile.lock
CHANGED
|
@@ -97,6 +97,14 @@ module QueSchema
|
|
|
97
97
|
false
|
|
98
98
|
end
|
|
99
99
|
|
|
100
|
+
# Suppress foreign keys between Que-managed tables —
|
|
101
|
+
# Que.migrate! / scheduler migrations recreate them.
|
|
102
|
+
def foreign_keys(table, stream)
|
|
103
|
+
return if postgresql? && que_table?(table.to_s)
|
|
104
|
+
|
|
105
|
+
super
|
|
106
|
+
end
|
|
107
|
+
|
|
100
108
|
# Override Fx::SchemaDumper methods to filter out
|
|
101
109
|
# Que-managed objects when Fx is present.
|
|
102
110
|
def functions(stream)
|
data/lib/que_schema/version.rb
CHANGED
data/spec/schema_dumper_spec.rb
CHANGED
|
@@ -146,6 +146,26 @@ RSpec.describe QueSchema::SchemaDumper do
|
|
|
146
146
|
end
|
|
147
147
|
end
|
|
148
148
|
|
|
149
|
+
describe "#foreign_keys" do
|
|
150
|
+
context "when PostgreSQL" do
|
|
151
|
+
before { stub_postgresql! }
|
|
152
|
+
|
|
153
|
+
it "suppresses foreign keys on que_jobs" do
|
|
154
|
+
stream = StringIO.new
|
|
155
|
+
dumper.send(:foreign_keys, "que_jobs", stream)
|
|
156
|
+
expect(stream.string).to be_empty
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
it "passes app tables through to super" do
|
|
160
|
+
stream = StringIO.new
|
|
161
|
+
expect { dumper.send(:foreign_keys, "users", stream) }
|
|
162
|
+
.to raise_error(NoMethodError, /super/)
|
|
163
|
+
# Raises because the test double has no real superclass —
|
|
164
|
+
# confirms the method delegates rather than suppressing.
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
|
|
149
169
|
describe "#que_function? (private)" do
|
|
150
170
|
it "returns true for Que-managed functions" do
|
|
151
171
|
%w[que_validate_tags que_determine_job_state que_job_notify que_state_notify].each do |name|
|
|
@@ -316,6 +336,22 @@ RSpec.describe QueSchema::SchemaDumper do
|
|
|
316
336
|
expect(output).to include("my_app_trigger")
|
|
317
337
|
end
|
|
318
338
|
end
|
|
339
|
+
|
|
340
|
+
describe "#foreign_keys" do
|
|
341
|
+
before { stub_postgresql! }
|
|
342
|
+
|
|
343
|
+
it "suppresses foreign keys on que_scheduler tables" do
|
|
344
|
+
stream = StringIO.new
|
|
345
|
+
dumper.send(:foreign_keys, "que_scheduler_audit_enqueued", stream)
|
|
346
|
+
expect(stream.string).to be_empty
|
|
347
|
+
end
|
|
348
|
+
|
|
349
|
+
it "suppresses foreign keys on core que tables" do
|
|
350
|
+
stream = StringIO.new
|
|
351
|
+
dumper.send(:foreign_keys, "que_jobs", stream)
|
|
352
|
+
expect(stream.string).to be_empty
|
|
353
|
+
end
|
|
354
|
+
end
|
|
319
355
|
end
|
|
320
356
|
|
|
321
357
|
describe "#que_schema_version (private)" do
|