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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2641592d2902b2b4db711882300e45157cf45df12d3f19ceea84ff97e13f6fab
|
4
|
+
data.tar.gz: d6eb83a0f1d0631acc1474d18305e0828688210f7008dbddb460dc1b2cfaf668
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|