ridgepole 3.1.1 → 3.1.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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/ridgepole/diff.rb +17 -0
- data/lib/ridgepole/version.rb +1 -1
- 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: dda1a996982cb5d8b365f150166e2de5a71da139e881e0997a7d1cbe90e742cf
|
|
4
|
+
data.tar.gz: e81e61c580566fc1df3a2de2e7e7473a713aa2f7cdc64b573876c5eff8890987
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 13ae80c21973f9e0901cd76e084fdf564267f65de8170e72cc3feae412d95619a532ca16147ecaa65275ad41f82a9ec31b93b38d499c381e7fb43fe09ec5710b
|
|
7
|
+
data.tar.gz: f19b7cec7f794af44aa5e5130d33088f033621a0344787d21a2d48362c954d49d8cd56be5b1c3da599eee35648f572bb6940bc44ae42085e4cdc45ebcca3216d
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
## 3.0
|
|
4
4
|
|
|
5
|
+
### 3.1.2 (2025/11/03)
|
|
6
|
+
|
|
7
|
+
- Normalize foreign key columns. [pull#607](https://github.com/ridgepole/ridgepole/pull/607)
|
|
8
|
+
|
|
5
9
|
### 3.1.1 (2025/10/31)
|
|
6
10
|
|
|
7
11
|
- Add `--disable-sort-columns` option [pull#601](https://github.com/ridgepole/ridgepole/pull/601)
|
data/lib/ridgepole/diff.rb
CHANGED
|
@@ -465,6 +465,23 @@ module Ridgepole
|
|
|
465
465
|
to = (to || {}).dup
|
|
466
466
|
foreign_keys_delta = {}
|
|
467
467
|
|
|
468
|
+
# Converts conventionally named (i.e., the combination of a singular table name with `_id` suffix)
|
|
469
|
+
# foreign key column names to void.
|
|
470
|
+
#
|
|
471
|
+
# Example:
|
|
472
|
+
# in `foreign_key_name_or_tables`, it converts the foreign key column name to nil
|
|
473
|
+
# - ["my_table", "referenced_table", "referenced_table_id"] => ["my_table", "referenced_table", nil]
|
|
474
|
+
# in `to_attrs`, it drops `column` option value
|
|
475
|
+
# - {to_table: "referenced_table", options: {column: "referenced_table_id"}} => {to_table: "referenced_table", options: {}}
|
|
476
|
+
to = to.to_h do |foreign_key_name_or_tables, to_attrs|
|
|
477
|
+
foreign_key_column_name = "#{foreign_key_name_or_tables[1].singularize}_id"
|
|
478
|
+
|
|
479
|
+
foreign_key_name_or_tables[2] = nil if foreign_key_column_name == foreign_key_name_or_tables[2]
|
|
480
|
+
to_attrs[:options].delete(:column) if to_attrs[:options][:column] == foreign_key_column_name
|
|
481
|
+
|
|
482
|
+
[foreign_key_name_or_tables, to_attrs]
|
|
483
|
+
end
|
|
484
|
+
|
|
468
485
|
to.each do |foreign_key_name_or_tables, to_attrs|
|
|
469
486
|
ignore_fk = to_attrs.fetch(:options, {}).delete(:ignore)
|
|
470
487
|
from_attrs = from.delete(foreign_key_name_or_tables)
|
data/lib/ridgepole/version.rb
CHANGED