dynamic_migrations 3.8.1 → 3.8.2

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: 1235cefb0bc31fd54a095fbef1111be30cb13f89bb6c4358364f35594ffe95ff
4
- data.tar.gz: e9050d22292034176525471025a8981fba83c8945b8a81f754c3c2a222cc4538
3
+ metadata.gz: 2641592d2902b2b4db711882300e45157cf45df12d3f19ceea84ff97e13f6fab
4
+ data.tar.gz: d6eb83a0f1d0631acc1474d18305e0828688210f7008dbddb460dc1b2cfaf668
5
5
  SHA512:
6
- metadata.gz: 2be636e7faf4eb9d05d8f6fb507603aa362f341982a44f99e7e35dd365481fe7042b04e1dcd743981ea321082af61be38e8a1b73c31109e09252f3736c51afb3
7
- data.tar.gz: 9db574a68a9009bee00bb5e8d16604b577e0d33a999ece3df62144516a15ba8f0187e624346ab87913f3c04805de4140eb0dd5b68c5d0f1fd30dff7010efef97
6
+ metadata.gz: 48130e442efa9a4e2ab9763fe8e0cb1f35bca56691361e0d3c350813e89c31e1445f59ff76b981e560eb521e8dfb72822ac80c04c738203b62237ccc9690ecc1
7
+ data.tar.gz: 0a40ea04a41e2f072fe0f8ae9a163a1989c0e8c752b7078491ae5b75bbe18cfc3d3eebd777a61de2b4372297e78c54539d3a449b11a76771c19a86370d5fe588
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.8.2](https://github.com/craigulliott/dynamic_migrations/compare/v3.8.1...v3.8.2) (2023-10-06)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * fetch_normalized_check_clause_and_column_names was using column names from the validation instead of the table it belonged to ([5157205](https://github.com/craigulliott/dynamic_migrations/commit/5157205fc52cfbf062d61054bf12c117a5df5b57))
9
+
3
10
  ## [3.8.1](https://github.com/craigulliott/dynamic_migrations/compare/v3.8.0...v3.8.1) (2023-10-06)
4
11
 
5
12
 
@@ -14,6 +14,9 @@ module DynamicMigrations
14
14
  class ExpectedArrayOfColumnsError < StandardError
15
15
  end
16
16
 
17
+ class ExpectedTableColumnsError < StandardError
18
+ end
19
+
17
20
  class DuplicateColumnError < StandardError
18
21
  end
19
22
 
@@ -122,6 +125,9 @@ module DynamicMigrations
122
125
  end
123
126
 
124
127
  def fetch_normalized_check_clause_and_column_names
128
+ if table.columns.empty?
129
+ raise ExpectedTableColumnsError, "Can not normalize check clause or validation columnns because the table has no columns"
130
+ end
125
131
  result = table.schema.database.with_connection do |connection|
126
132
  # wrapped in a transaction just in case something here fails, because
127
133
  # we don't want the temporary table to be persisted
@@ -130,7 +136,7 @@ module DynamicMigrations
130
136
  # create the temp table and add the expected columns and constraint
131
137
  connection.exec(<<~SQL)
132
138
  CREATE TEMP TABLE validation_normalized_check_clause_temp_table (
133
- #{columns.map { |column| '"' + column.name.to_s + '" ' + column.temp_table_data_type.to_s }.join(", ")},
139
+ #{table.columns.map { |column| '"' + column.name.to_s + '" ' + column.temp_table_data_type.to_s }.join(", ")},
134
140
  CONSTRAINT #{name} CHECK (#{check_clause})
135
141
  );
136
142
  SQL
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DynamicMigrations
4
- VERSION = "3.8.1"
4
+ VERSION = "3.8.2"
5
5
  end
@@ -36,6 +36,9 @@ module DynamicMigrations
36
36
  class ExpectedArrayOfColumnsError < StandardError
37
37
  end
38
38
 
39
+ class ExpectedTableColumnsError < StandardError
40
+ end
41
+
39
42
  class DuplicateColumnError < StandardError
40
43
  end
41
44
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynamic_migrations
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.8.1
4
+ version: 3.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Craig Ulliott