ridgepole 2.0.1 → 2.0.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: 6fa83f940f36282e309b63bc3b82dcf689b653ef91d8b85aa6c5a8264e381f54
4
- data.tar.gz: 81aa49a5450b8c50329b9413907c921efce5ba2c41048bbfe9d220d879afc41b
3
+ metadata.gz: 212f7ac739d81f903fa7df88232f8e17e28b953628d03f9cd9a7c59baa037162
4
+ data.tar.gz: d61273f751c642076ee08849439b0505f97de16c86426a8f5c8e950a1a661f17
5
5
  SHA512:
6
- metadata.gz: 2d9dd780d7d7dcb55dabbecaf1b0fced0c2e1bdc0f98120029da8d63eb950b1449debebceb01fccc7938deb5eef3fbdd8eb186f4bbcc9c236eabaa8b44c90831
7
- data.tar.gz: a517f0ef28405b3a6dd7e17286dec85b1fd8e116de625ca8420f8ff358f7aca111c619640742639733b99e92b594b5717791c437b0cb6cc94b02e44585677672
6
+ metadata.gz: e4c098c3eb46ba9d00147ec8dc4f2d494ae5a306e30dbce9cb38bc519d5726b1fe514846e7253b3870ed7b7ad4cb23a0e3e338f3755ad98dc6918f1faf25d88b
7
+ data.tar.gz: 7b18857bdc397b49a31e136032ac38160c369da235af669a442d93d5685ba5aade0fc549a711da3e0654503b669d6d1c70be1789152bbabf4e67ecf9b16974da
data/.rubocop.yml CHANGED
@@ -3,6 +3,8 @@ AllCops:
3
3
  - "gemfiles/**/*"
4
4
  - "omnibus-ridgepole/**/*"
5
5
  - "vendor/bundle/**/*"
6
+ - "Schemafile"
7
+ - "**/*.schema"
6
8
  TargetRubyVersion: 2.7
7
9
  NewCops: enable
8
10
  SuggestExtensions: false
data/CHANGELOG.md CHANGED
@@ -2,311 +2,319 @@
2
2
 
3
3
  ## 2.0
4
4
 
5
+ ### 2.0.2 (2024/02/25)
6
+
7
+ - Fix bug that cannot include single quote in table comment [pull#467](https://github.com/ridgepole/ridgepole/pull/467)
8
+
9
+ ### 2.0.1 (2023/11/22)
10
+
11
+ - Fix renamed_from bug [pull#453](https://github.com/ridgepole/ridgepole/pull/453)
12
+
5
13
  ### 2.0.1 (2023/11/22)
6
14
 
7
- * Fix renamed_from bug [pull#453](https://github.com/ridgepole/ridgepole/pull/453)
15
+ - Fix renamed_from bug [pull#453](https://github.com/ridgepole/ridgepole/pull/453)
8
16
 
9
17
  ### 2.0.0 (2023/11/10)
10
18
 
11
- * Bump up version.
19
+ - Bump up version.
12
20
 
13
21
  ### 2.0.0.beta2 (2023/10/26)
14
22
 
15
- * Support Rails 7.1 [pull#447](https://github.com/ridgepole/ridgepole/pull/447)
16
- * Drop Rails 6.0 support [pull#440](https://github.com/ridgepole/ridgepole/pull/440)
23
+ - Support Rails 7.1 [pull#447](https://github.com/ridgepole/ridgepole/pull/447)
24
+ - Drop Rails 6.0 support [pull#440](https://github.com/ridgepole/ridgepole/pull/440)
17
25
 
18
26
  ### 2.0.0.beta (2023/10/22)
19
27
 
20
- * Support Rails 7.1 [pull#441](https://github.com/ridgepole/ridgepole/pull/441)
21
- * Drop Rails 6.0 support [pull#440](https://github.com/ridgepole/ridgepole/pull/440)
28
+ - Support Rails 7.1 [pull#441](https://github.com/ridgepole/ridgepole/pull/441)
29
+ - Drop Rails 6.0 support [pull#440](https://github.com/ridgepole/ridgepole/pull/440)
22
30
 
23
31
  ## 1.2
24
32
 
25
33
  ### 1.2.1 (2023/07/29)
26
34
 
27
- * Support `t.enum` [pull#405](https://github.com/ridgepole/ridgepole/pull/405)
28
- * Fix timestamps with index behavior [pull#428](https://github.com/ridgepole/ridgepole/pull/428)
29
- * Fix broken `DEFAULT CURRENT_TIMESTAMP` spec [pull#420](https://github.com/ridgepole/ridgepole/pull/420)
30
- * Add Ruby 3.2 to CI matrix [pull#419](https://github.com/ridgepole/ridgepole/pull/419)
35
+ - Support `t.enum` [pull#405](https://github.com/ridgepole/ridgepole/pull/405)
36
+ - Fix timestamps with index behavior [pull#428](https://github.com/ridgepole/ridgepole/pull/428)
37
+ - Fix broken `DEFAULT CURRENT_TIMESTAMP` spec [pull#420](https://github.com/ridgepole/ridgepole/pull/420)
38
+ - Add Ruby 3.2 to CI matrix [pull#419](https://github.com/ridgepole/ridgepole/pull/419)
31
39
 
32
40
  ### 1.2.0 (2022/09/24)
33
41
 
34
- * Updated supported column types [pull#399](https://github.com/ridgepole/ridgepole/pull/399) [pull#400](https://github.com/ridgepole/ridgepole/pull/400)
35
- * Support check constraint [pull#393](https://github.com/ridgepole/ridgepole/pull/393) [pull#397](https://github.com/ridgepole/ridgepole/pull/397)
36
- * Drop suport Rails 5.x [pull#395](https://github.com/ridgepole/ridgepole/pull/395 )
42
+ - Updated supported column types [pull#399](https://github.com/ridgepole/ridgepole/pull/399) [pull#400](https://github.com/ridgepole/ridgepole/pull/400)
43
+ - Support check constraint [pull#393](https://github.com/ridgepole/ridgepole/pull/393) [pull#397](https://github.com/ridgepole/ridgepole/pull/397)
44
+ - Drop suport Rails 5.x [pull#395](https://github.com/ridgepole/ridgepole/pull/395)
37
45
 
38
46
  ## 1.1
39
47
 
40
48
  ### 1.1.0 (2022/06/18)
41
49
 
42
- * Revert partitioning support [pull#392](https://github.com/ridgepole/ridgepole/pull/392)
50
+ - Revert partitioning support [pull#392](https://github.com/ridgepole/ridgepole/pull/392)
43
51
 
44
52
  ## 1.0
45
53
 
46
54
  ### 1.0.7 (2022/06/09)
47
55
 
48
- * Normalize list partition values for PostgreSQL [pull#389](https://github.com/ridgepole/ridgepole/pull/389)
56
+ - Normalize list partition values for PostgreSQL [pull#389](https://github.com/ridgepole/ridgepole/pull/389)
49
57
 
50
58
  ### 1.0.6 (2022/06/06)
51
59
 
52
- * Support Hash partition for PostgreSQL [pull#387](https://github.com/ridgepole/ridgepole/pull/387)
60
+ - Support Hash partition for PostgreSQL [pull#387](https://github.com/ridgepole/ridgepole/pull/387)
53
61
 
54
62
  ### 1.0.5 (2022/06/05)
55
63
 
56
- * Support DEFAULT partition for PostgreSQL [pull#386](https://github.com/ridgepole/ridgepole/pull/386)
64
+ - Support DEFAULT partition for PostgreSQL [pull#386](https://github.com/ridgepole/ridgepole/pull/386)
57
65
 
58
66
  ### 1.0.4 (2022/03/28)
59
67
 
60
- * Add warning for generated column [pull#382](https://github.com/ridgepole/ridgepole/pull/382)
68
+ - Add warning for generated column [pull#382](https://github.com/ridgepole/ridgepole/pull/382)
61
69
 
62
70
  ### 1.0.3 (2022/02/12)
63
71
 
64
- * Support Rails 7.0.2 [pull#380](https://github.com/ridgepole/ridgepole/pull/380)
72
+ - Support Rails 7.0.2 [pull#380](https://github.com/ridgepole/ridgepole/pull/380)
65
73
 
66
74
  ### 1.0.2 (2022/02/06)
67
75
 
68
- * Add support for partitioning ([pull#374](https://github.com/ridgepole/ridgepole/pull/374))
69
- * Suppress warning of table option differences ([pull#378](https://github.com/ridgepole/ridgepole/pull/378))
76
+ - Add support for partitioning ([pull#374](https://github.com/ridgepole/ridgepole/pull/374))
77
+ - Suppress warning of table option differences ([pull#378](https://github.com/ridgepole/ridgepole/pull/378))
70
78
 
71
79
  ### 1.0.1 (2022/01/15)
72
80
 
73
- * Fix code for RuboCop 1.24.1
74
- * Fix PostgreSQL spec for Rails 7.0
75
- * Update ERBh gem (for development)
81
+ - Fix code for RuboCop 1.24.1
82
+ - Fix PostgreSQL spec for Rails 7.0
83
+ - Update ERBh gem (for development)
76
84
 
77
85
  ### 1.0.0 (2021/12/19)
78
86
 
79
- * Support Rails 7.0
80
- * `--skip-drop-table` by default ([pull#363](https://github.com/ridgepole/ridgepole/pull/363))
87
+ - Support Rails 7.0
88
+ - `--skip-drop-table` by default ([pull#363](https://github.com/ridgepole/ridgepole/pull/363))
81
89
 
82
90
  ## 0.9
83
91
 
84
92
  ### 0.9.6
85
93
 
86
- * Fix malformed error ([pull#362](https://github.com/ridgepole/ridgepole/pull/362))
94
+ - Fix malformed error ([pull#362](https://github.com/ridgepole/ridgepole/pull/362))
87
95
 
88
96
  ### 0.9.5
89
97
 
90
- * Call `super` in `disable_table_options.rb` ([pull#357](https://github.com/ridgepole/ridgepole/pull/357))
98
+ - Call `super` in `disable_table_options.rb` ([pull#357](https://github.com/ridgepole/ridgepole/pull/357))
91
99
 
92
100
  ### 0.9.4
93
101
 
94
- * Fix `--alter-extra` option for unique index ([pull#356](https://github.com/ridgepole/ridgepole/pull/356))
102
+ - Fix `--alter-extra` option for unique index ([pull#356](https://github.com/ridgepole/ridgepole/pull/356))
95
103
 
96
104
  ### 0.9.3
97
105
 
98
- * Fix `limit` option for `t.integer` ([pull#354](https://github.com/ridgepole/ridgepole/pull/354))
106
+ - Fix `limit` option for `t.integer` ([pull#354](https://github.com/ridgepole/ridgepole/pull/354))
99
107
 
100
108
  ### 0.9.2
101
109
 
102
- * Support `t.column index option` ([pull#353](https://github.com/ridgepole/ridgepole/pull/353))
110
+ - Support `t.column index option` ([pull#353](https://github.com/ridgepole/ridgepole/pull/353))
103
111
 
104
112
  ### 0.9.1
105
113
 
106
- * Support `t.foreign_key` ([pull#348](https://github.com/ridgepole/ridgepole/pull/348))
114
+ - Support `t.foreign_key` ([pull#348](https://github.com/ridgepole/ridgepole/pull/348))
107
115
 
108
116
  ### 0.9.0
109
117
 
110
- * Remove `--mysql-use-alter` option ([pull#330](https://github.com/ridgepole/ridgepole/pull/330))
111
- * Add `--table-hash-options` option ([pull#331](https://github.com/ridgepole/ridgepole/pull/331))
112
- * Support Rails 6.1 ([pull#323](https://github.com/ridgepole/ridgepole/pull/323))
113
- * Disable Rails 5.0 support ([pull#335](https://github.com/ridgepole/ridgepole/pull/335))
114
- * Fix PK AUTO_INCREMENT change bug ([pull#334](https://github.com/ridgepole/ridgepole/pull/334))
118
+ - Remove `--mysql-use-alter` option ([pull#330](https://github.com/ridgepole/ridgepole/pull/330))
119
+ - Add `--table-hash-options` option ([pull#331](https://github.com/ridgepole/ridgepole/pull/331))
120
+ - Support Rails 6.1 ([pull#323](https://github.com/ridgepole/ridgepole/pull/323))
121
+ - Disable Rails 5.0 support ([pull#335](https://github.com/ridgepole/ridgepole/pull/335))
122
+ - Fix PK AUTO_INCREMENT change bug ([pull#334](https://github.com/ridgepole/ridgepole/pull/334))
115
123
 
116
124
  ## 0.8
117
125
 
118
126
  ### 0.8.13
119
127
 
120
- * Support `serial` and `bigserial` column types ([pull#321](https://github.com/ridgepole/ridgepole/pull/321))
128
+ - Support `serial` and `bigserial` column types ([pull#321](https://github.com/ridgepole/ridgepole/pull/321))
121
129
 
122
130
  ### 0.8.12
123
131
 
124
- * Pluralize column specified by `references` ([pull#317](https://github.com/ridgepole/ridgepole/pull/317))
132
+ - Pluralize column specified by `references` ([pull#317](https://github.com/ridgepole/ridgepole/pull/317))
125
133
 
126
134
  ### 0.8.11
127
135
 
128
- * Fix FK index check support multiple PK ([pull#315](https://github.com/ridgepole/ridgepole/pull/315))
129
- * Support t.reference() foreign_key option ([pull#316](https://github.com/ridgepole/ridgepole/pull/316))
136
+ - Fix FK index check support multiple PK ([pull#315](https://github.com/ridgepole/ridgepole/pull/315))
137
+ - Support t.reference() foreign_key option ([pull#316](https://github.com/ridgepole/ridgepole/pull/316))
130
138
 
131
139
  ### 0.8.10
132
140
 
133
- * Raise an error if an InnoDB column has a foreign key but no index ([pull#310](https://github.com/ridgepole/ridgepole/pull/310))
141
+ - Raise an error if an InnoDB column has a foreign key but no index ([pull#310](https://github.com/ridgepole/ridgepole/pull/310))
134
142
 
135
143
  ### 0.8.9
136
144
 
137
- * Fix unexpected differences on text types and blob types on Rails 6 ([pull#306](https://github.com/ridgepole/ridgepole/pull/306))
138
- * Fix unexpected warning when a foreign key is added on the primary key ([pull#307](https://github.com/ridgepole/ridgepole/pull/307))
145
+ - Fix unexpected differences on text types and blob types on Rails 6 ([pull#306](https://github.com/ridgepole/ridgepole/pull/306))
146
+ - Fix unexpected warning when a foreign key is added on the primary key ([pull#307](https://github.com/ridgepole/ridgepole/pull/307))
139
147
 
140
148
  ### 0.8.8
141
149
 
142
- * Fix keyword arguments warnings in Ruby 2.7 ([pull#303](https://github.com/ridgepole/ridgepole/pull/303))
150
+ - Fix keyword arguments warnings in Ruby 2.7 ([pull#303](https://github.com/ridgepole/ridgepole/pull/303))
143
151
 
144
152
  ### 0.8.7
145
153
 
146
- * Support `require_relative` ([pull#298](https://github.com/ridgepole/ridgepole/pull/298))
154
+ - Support `require_relative` ([pull#298](https://github.com/ridgepole/ridgepole/pull/298))
147
155
 
148
156
  ### 0.8.6
149
157
 
150
- * Support multiple databases feature ([pull#297](https://github.com/ridgepole/ridgepole/pull/297))
158
+ - Support multiple databases feature ([pull#297](https://github.com/ridgepole/ridgepole/pull/297))
151
159
 
152
160
  ### 0.8.5
153
161
 
154
- * Improve warning message on table options ([pull#291](https://github.com/ridgepole/ridgepole/pull/291))
162
+ - Improve warning message on table options ([pull#291](https://github.com/ridgepole/ridgepole/pull/291))
155
163
 
156
164
  ### 0.8.4
157
165
 
158
- * Display a warning if an InnoDB table doesn't have any indexes on a column where it has a foreign key ([pull#290](https://github.com/ridgepole/ridgepole/pull/290))
166
+ - Display a warning if an InnoDB table doesn't have any indexes on a column where it has a foreign key ([pull#290](https://github.com/ridgepole/ridgepole/pull/290))
159
167
 
160
168
  ### 0.8.3
161
169
 
162
- * Fix "topological sort failed" error ([pull#287](https://github.com/ridgepole/ridgepole/pull/287))
170
+ - Fix "topological sort failed" error ([pull#287](https://github.com/ridgepole/ridgepole/pull/287))
163
171
 
164
172
  ### 0.8.2
165
173
 
166
- * Support `postgres://` schema ([pull#285](https://github.com/ridgepole/ridgepole/pull/285))
174
+ - Support `postgres://` schema ([pull#285](https://github.com/ridgepole/ridgepole/pull/285))
167
175
 
168
176
  ### 0.8.1
169
177
 
170
- * Drop tables in an order considering foreign key constraints ([pull#284](https://github.com/ridgepole/ridgepole/pull/284))
178
+ - Drop tables in an order considering foreign key constraints ([pull#284](https://github.com/ridgepole/ridgepole/pull/284))
171
179
 
172
180
  ### 0.8.0
173
181
 
174
- * Support Rails 6.0
182
+ - Support Rails 6.0
175
183
 
176
184
  ## 0.7
177
185
 
178
186
  ### 0.7.8
179
187
 
180
- * Fix for `add_foreign_key(..., column: ,,,)` ([pull#278](https://github.com/ridgepole/ridgepole/pull/278))
188
+ - Fix for `add_foreign_key(..., column: ,,,)` ([pull#278](https://github.com/ridgepole/ridgepole/pull/278))
181
189
 
182
190
  ### 0.7.7
183
191
 
184
- * Support URI query string ([pull#273](https://github.com/ridgepole/ridgepole/pull/273))
192
+ - Support URI query string ([pull#273](https://github.com/ridgepole/ridgepole/pull/273))
185
193
 
186
194
  ### 0.7.6
187
195
 
188
- * Fix database url check ([pull#266](https://github.com/ridgepole/ridgepole/pull/266))
189
- * Add ignore option ([pull#267](https://github.com/ridgepole/ridgepole/pull/267))
196
+ - Fix database url check ([pull#266](https://github.com/ridgepole/ridgepole/pull/266))
197
+ - Add ignore option ([pull#267](https://github.com/ridgepole/ridgepole/pull/267))
190
198
 
191
199
  ### 0.7.5
192
200
 
193
- * Fix polymorphic options ([pull#263](https://github.com/ridgepole/ridgepole/pull/263))
194
- * Fix `--mysql-use-alter` option ([pull#246](https://github.com/ridgepole/ridgepole/pull/264))
195
- * Fix Database URI parsing ([pull#265](https://github.com/ridgepole/ridgepole/pull/265))
201
+ - Fix polymorphic options ([pull#263](https://github.com/ridgepole/ridgepole/pull/263))
202
+ - Fix `--mysql-use-alter` option ([pull#246](https://github.com/ridgepole/ridgepole/pull/264))
203
+ - Fix Database URI parsing ([pull#265](https://github.com/ridgepole/ridgepole/pull/265))
196
204
 
197
205
  ### 0.7.4
198
206
 
199
- * Fix `add_foreign_key` options ([issue#250](https://github.com/ridgepole/ridgepole/issues/250))
207
+ - Fix `add_foreign_key` options ([issue#250](https://github.com/ridgepole/ridgepole/issues/250))
200
208
 
201
209
  ### 0.7.3
202
210
 
203
- * Add `--mysql-change-table-comment option` ([pull#166](https://github.com/ridgepole/ridgepole/pull/166))
204
- * Refactoring with RuboCop
205
- * Support primary key adding/dropping ([issue#246](https://github.com/ridgepole/ridgepole/issues/246))
211
+ - Add `--mysql-change-table-comment option` ([pull#166](https://github.com/ridgepole/ridgepole/pull/166))
212
+ - Refactoring with RuboCop
213
+ - Support primary key adding/dropping ([issue#246](https://github.com/ridgepole/ridgepole/issues/246))
206
214
 
207
215
  ### 0.7.2
208
216
 
209
- * Support Rails 5.2
217
+ - Support Rails 5.2
210
218
 
211
219
  ### 0.7.1
212
220
 
213
- * Remove `--reverse` option
214
- * Add `--allow-pk-change` option
215
- * Add `--create-table-with-index` option
216
- * Add `--mysql-dump-auto-increment` option (`rails >= 5.1`)
221
+ - Remove `--reverse` option
222
+ - Add `--allow-pk-change` option
223
+ - Add `--create-table-with-index` option
224
+ - Add `--mysql-dump-auto-increment` option (`rails >= 5.1`)
217
225
 
218
226
  ### 0.7.0
219
227
 
220
- * Remove Rails 4.x support
221
- * Add Rails 5.1 support
222
- * Remove `--enable-mysql-awesome` option
223
- * Add `--skip-drop-table` option
224
- * Support foreign key without name
225
- * Support MySQL JSON Type and Generated Columns
226
- * Add `--mysql-change-table-options` option
227
- * Pass config from env
228
- * Fix change fk order
229
- * Add `--check-relation-type` option
230
- * Add `--skip-column-comment-change` option
231
- * Add `--default-bigint-limit` option
232
- * Add `--ignore-table-comment` option
228
+ - Remove Rails 4.x support
229
+ - Add Rails 5.1 support
230
+ - Remove `--enable-mysql-awesome` option
231
+ - Add `--skip-drop-table` option
232
+ - Support foreign key without name
233
+ - Support MySQL JSON Type and Generated Columns
234
+ - Add `--mysql-change-table-options` option
235
+ - Pass config from env
236
+ - Fix change fk order
237
+ - Add `--check-relation-type` option
238
+ - Add `--skip-column-comment-change` option
239
+ - Add `--default-bigint-limit` option
240
+ - Add `--ignore-table-comment` option
233
241
 
234
242
  ## 0.6
235
243
 
236
244
  ### 0.6.6
237
245
 
238
- * Use `t.column` for migration ([pull#114](https://github.com/ridgepole/ridgepole/pull/114))
239
- * Support DATABASE_URL format ([pull#118](https://github.com/ridgepole/ridgepole/pull/118))
240
- * Add Ruby2.4 CI ([pull#119](https://github.com/ridgepole/ridgepole/pull/119))
246
+ - Use `t.column` for migration ([pull#114](https://github.com/ridgepole/ridgepole/pull/114))
247
+ - Support DATABASE_URL format ([pull#118](https://github.com/ridgepole/ridgepole/pull/118))
248
+ - Add Ruby2.4 CI ([pull#119](https://github.com/ridgepole/ridgepole/pull/119))
241
249
 
242
250
  ### 0.6.5
243
251
 
244
- * Fix rails version `'>= 4.2', '< 6'`
245
- * Support new types ([pull#84](https://github.com/ridgepole/ridgepole/pull/84))
246
- * Support `default: -> { ... }` ([pull#85](https://github.com/ridgepole/ridgepole/pull/85))
247
- * Support DDL Comment (Rails5 only)
248
- * Output schema diff when pass `--verbose`
249
- * Support composite primary key (Rails5 only / [pull#97](https://github.com/ridgepole/ridgepole/pull/97))
252
+ - Fix rails version `'>= 4.2', '< 6'`
253
+ - Support new types ([pull#84](https://github.com/ridgepole/ridgepole/pull/84))
254
+ - Support `default: -> { ... }` ([pull#85](https://github.com/ridgepole/ridgepole/pull/85))
255
+ - Support DDL Comment (Rails5 only)
256
+ - Output schema diff when pass `--verbose`
257
+ - Support composite primary key (Rails5 only / [pull#97](https://github.com/ridgepole/ridgepole/pull/97))
250
258
 
251
259
  ### 0.6.4
252
260
 
253
- * Execute sql using external script ([pull#56](https://github.com/ridgepole/ridgepole/pull/56))
254
- * Add `--mysql-use-alter` option
255
- * Add `--alter-extra` option
256
- * Add `--dump-with-default-fk-name` option
257
- * Support `t.index` ([pull#64](https://github.com/ridgepole/ridgepole/pull/64))
258
- * Remove migration_comments
259
- * Fix foreign key apply order
261
+ - Execute sql using external script ([pull#56](https://github.com/ridgepole/ridgepole/pull/56))
262
+ - Add `--mysql-use-alter` option
263
+ - Add `--alter-extra` option
264
+ - Add `--dump-with-default-fk-name` option
265
+ - Support `t.index` ([pull#64](https://github.com/ridgepole/ridgepole/pull/64))
266
+ - Remove migration_comments
267
+ - Fix foreign key apply order
260
268
 
261
269
  ### 0.6.3
262
270
 
263
- * Fix `default` option ([pull#48](https://github.com/ridgepole/ridgepole/pull/48))
264
- * Add `--enable-migration-comments` option ([pull#50](https://github.com/ridgepole/ridgepole/pull/50))
265
- * Disable `rename_table_indexes`
271
+ - Fix `default` option ([pull#48](https://github.com/ridgepole/ridgepole/pull/48))
272
+ - Add `--enable-migration-comments` option ([pull#50](https://github.com/ridgepole/ridgepole/pull/50))
273
+ - Disable `rename_table_indexes`
266
274
 
267
275
  ### 0.6.1
268
276
 
269
- * Support [PostgreSQL columns](https://github.com/winebarrel/rails/blob/v4.2.1/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L79)
277
+ - Support [PostgreSQL columns](https://github.com/winebarrel/rails/blob/v4.2.1/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L79)
270
278
 
271
279
  ### 0.6.0
272
280
 
273
- * Fix rails version `~> 4.2.1`
274
- * Disable following libraries support:
275
- * activerecord-mysql-unsigned
276
- * migration_comments
277
- * foreigner
278
- * Disable sqlite support
279
- * Add PostgreSQL test
280
- * Remove `--mysql-awesome-unsigned-pk` option
281
+ - Fix rails version `~> 4.2.1`
282
+ - Disable following libraries support:
283
+ - activerecord-mysql-unsigned
284
+ - migration_comments
285
+ - foreigner
286
+ - Disable sqlite support
287
+ - Add PostgreSQL test
288
+ - Remove `--mysql-awesome-unsigned-pk` option
281
289
 
282
290
  ## 0.5
283
291
 
284
292
  ### 0.5.2
285
293
 
286
- * Add `--enable-mysql-awesome` option ([activerecord-mysql-awesome](https://github.com/kamipo/activerecord-mysql-awesome) is required `>= 0.0.3`)
287
- * It is not possible to enable both `--enable-mysql-awesome` and `--enable-migration-comments`, `--enable-mysql-awesome` and `--enable-mysql-unsigned`, `--enable-mysql-awesome` and `--enable-mysql-pkdump`
288
- * Fix foreigner version `<= 1.7.1`
294
+ - Add `--enable-mysql-awesome` option ([activerecord-mysql-awesome](https://github.com/kamipo/activerecord-mysql-awesome) is required `>= 0.0.3`)
295
+ - It is not possible to enable both `--enable-mysql-awesome` and `--enable-migration-comments`, `--enable-mysql-awesome` and `--enable-mysql-unsigned`, `--enable-mysql-awesome` and `--enable-mysql-pkdump`
296
+ - Fix foreigner version `<= 1.7.1`
289
297
 
290
298
  ### 0.5.1
291
299
 
292
- * Add `--enable-migration-comments` option ([migration_comments](https://github.com/pinnymz/migration_comments) is required)
293
- * Fix rails version `< 4.2.0`
300
+ - Add `--enable-migration-comments` option ([migration_comments](https://github.com/pinnymz/migration_comments) is required)
301
+ - Fix rails version `< 4.2.0`
294
302
 
295
303
  ### 0.5.0
296
304
 
297
- * Fix `activerecord-mysql-unsigned` version: `~> 0.3.1`
305
+ - Fix `activerecord-mysql-unsigned` version: `~> 0.3.1`
298
306
 
299
307
  ## 0.4
300
308
 
301
309
  ### 0.4.12
302
310
 
303
- * Fix `activerecord-mysql-unsigned` version: `~> 0.2.0`
311
+ - Fix `activerecord-mysql-unsigned` version: `~> 0.2.0`
304
312
 
305
313
  ### 0.4.11
306
314
 
307
- * Add `--enable-mysql-pkdump` option.
315
+ - Add `--enable-mysql-pkdump` option.
308
316
 
309
317
  ### 0.4.8
310
318
 
311
- * `activerecord-mysql-unsigned` is now optional. Please pass `--enable-mysql-unsigned` after you install [activerecord-mysql-unsigned](https://github.com/waka/activerecord-mysql-unsigned) if you want to use.
312
- * Please pass `--enable-foreigner` after you install [foreigner](https://github.com/matthuhiggins/foreigner) if you want to use the foreign key.
319
+ - `activerecord-mysql-unsigned` is now optional. Please pass `--enable-mysql-unsigned` after you install [activerecord-mysql-unsigned](https://github.com/waka/activerecord-mysql-unsigned) if you want to use.
320
+ - Please pass `--enable-foreigner` after you install [foreigner](https://github.com/matthuhiggins/foreigner) if you want to use the foreign key.
data/README.md CHANGED
@@ -9,28 +9,28 @@ It defines DB schema using [Rails DSL](http://guides.rubyonrails.org/migrations.
9
9
  [![Build Status](https://github.com/ridgepole/ridgepole/workflows/test/badge.svg?branch=1.2)](https://github.com/ridgepole/ridgepole/actions)
10
10
  [![Coverage Status](https://coveralls.io/repos/github/ridgepole/ridgepole/badge.svg?branch=1.2)](https://coveralls.io/github/ridgepole/ridgepole?branch=1.2)
11
11
 
12
- **Notice**
13
-
14
- * ridgepole v2.0.0
15
- * Support Trilogy (cf. https://github.com/ridgepole/ridgepole/pull/447)
16
- * Support Rails 7.1 (cf. https://github.com/ridgepole/ridgepole/pull/441)
17
- * Drop support AcriveRecord 6.0 (cf. https://github.com/ridgepole/ridgepole/pull/440)
18
- * Drop support ActiveRecord 5.x in ridgepole v1.2.0.
19
- * Partitioning is no longer supported in ridgepole v1.1.0.
20
- * ActiveRecord 7.x has some incompatible changes. If you get unintended differences in `datetime` columns consider changing `precision`:
21
- * Add `precision: nil` for columns that previously had no `precision` specified (cf. https://github.com/ridgepole/ridgepole/issues/381)
22
- * Remove `precision: 6` from columns that previously had `precision: 6` specified explicitly (cf. https://github.com/ridgepole/ridgepole/issues/406)
23
- * For ActiveRecord 7.x series, please use AcriveRecord 7.0.2 or higher / Ridgepole 1.0.3 or higher.
24
- * cf. https://github.com/ridgepole/ridgepole/pull/380
25
- * ActiveRecord 6.1 is supported in ridgepole v0.9, but the ActiveRecord dump has been changed, so there is a difference between ActiveRecord 5.x/6.0 format.
26
- * **If you use ActiveRecord 6.1, please modify Schemafile format**.
27
- * cf. https://github.com/ridgepole/ridgepole/pull/323
28
- * `DROP TABLE` is skipped by default in v1.0 and later versions.
29
- * If you want to `DROP TABLE`, please pass `--drop-table`.
30
- * cf. https://github.com/ridgepole/ridgepole/pull/363
31
- * In Rails 7.0, the output of dumper is different from Rails 6.
32
- * cf. https://github.com/rails/rails/issues/43909
33
- * cf. https://github.com/rails/rails/commit/c2a6f618d22cca4d9b7be7fa7652e7aac509350c#diff-55f41513f027a3d219629f475f03c2d1105ca55c5093d691e1b3dc4710c6cc0b
12
+ > [!note]
13
+ > * ridgepole v2.0.0
14
+ > * Support Trilogy (cf. https://github.com/ridgepole/ridgepole/pull/447)
15
+ > * Support Rails 7.1 (cf. https://github.com/ridgepole/ridgepole/pull/441)
16
+ > * Drop support AcriveRecord 6.0 (cf. https://github.com/ridgepole/ridgepole/pull/440)
17
+ > * Drop support ActiveRecord 5.x in ridgepole v1.2.0.
18
+ > * Partitioning is no longer supported in ridgepole v1.1.0.
19
+ > * ActiveRecord 7.x has some incompatible changes. If you get unintended differences in `datetime` columns consider changing `precision`:
20
+ > * Add `precision: nil` for columns that previously had no `precision` specified (cf. https://github.com/ridgepole/ridgepole/issues/381)
21
+ > * Remove `precision: 6` from columns that previously had `precision: 6` specified explicitly (cf. https://github.com/ridgepole/ridgepole/issues/406)
22
+ > * For ActiveRecord 7.x series, please use AcriveRecord 7.0.2 or higher / Ridgepole 1.0.3 or higher.
23
+ > * cf. https://github.com/ridgepole/ridgepole/pull/380
24
+ > * ActiveRecord 6.1 is supported in ridgepole v0.9, but the ActiveRecord dump has been changed, so there is a difference between ActiveRecord 5.x/6.0 format.
25
+ > * **If you use ActiveRecord 6.1, please modify Schemafile format**.
26
+ > * cf. https://github.com/ridgepole/ridgepole/pull/323
27
+ > * `DROP TABLE` is skipped by default in v1.0 and later versions.
28
+ > * If you want to `DROP TABLE`, please pass `--drop-table`.
29
+ > * cf. https://github.com/ridgepole/ridgepole/pull/363
30
+ > * In Rails 7.0, the output of dumper is different from Rails 6.
31
+ > * cf. https://github.com/rails/rails/issues/43909
32
+ > * cf. https://github.com/rails/rails/commit/c2a6f618d22cca4d9b7be7fa7652e7aac509350c#diff-55f41513f027a3d219629f475f03c2d1105ca55c5093d691e1b3dc4710c6cc0b
33
+ > * SQLite does not support.
34
34
 
35
35
  ## Installation
36
36
 
@@ -96,6 +96,7 @@ Usage: ridgepole [options]
96
96
  --debug
97
97
  --[no-]color
98
98
  -v, --version
99
+ -h, --help
99
100
  ```
100
101
 
101
102
  ## Usage
data/bin/ridgepole CHANGED
@@ -155,10 +155,14 @@ ARGV.options do |opt|
155
155
  opt.on('', '--debug') { options[:debug] = true }
156
156
  opt.on('', '--[no-]color') { |v| options[:color] = v }
157
157
 
158
- opt.on('-v', '--version') do
158
+ opt.on_tail('-v', '--version') do
159
159
  puts opt.ver
160
160
  exit
161
161
  end
162
+ opt.on_tail('-h', '--help') do
163
+ puts opt
164
+ exit
165
+ end
162
166
 
163
167
  opt.parse!
164
168
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activerecord", "~> 7.0.7"
5
+ gem "activerecord", "~> 7.0.4"
6
6
 
7
7
  gemspec path: "../"
@@ -29,7 +29,7 @@ module Ridgepole
29
29
 
30
30
  logger.verbose_info('# Parse DSL')
31
31
  expected_definition, expected_execute = @parser.parse(dsl, opts)
32
- expected_definition.each do |_table, definition|
32
+ expected_definition.each_value do |definition|
33
33
  merge_table_options(definition)
34
34
  end
35
35
  logger.verbose_info('# Load tables')
@@ -250,19 +250,19 @@ create_table(#{table_name.inspect}, #{inspect_options_include_default_proc(optio
250
250
  end
251
251
 
252
252
  unless (check_constraints = attrs[:check_constraints] || {}).empty?
253
- check_constraints.each do |_, check_constraint_attrs|
253
+ check_constraints.each_value do |check_constraint_attrs|
254
254
  append_add_check_constraint(table_name, check_constraint_attrs, buf, true)
255
255
  end
256
256
  end
257
257
 
258
258
  unless (exclusion_constraints = attrs[:exclusion_constraints] || {}).empty?
259
- exclusion_constraints.each do |_, exclusion_constraint_attrs|
259
+ exclusion_constraints.each_value do |exclusion_constraint_attrs|
260
260
  append_add_exclusion_constraint(table_name, exclusion_constraint_attrs, buf, true)
261
261
  end
262
262
  end
263
263
 
264
264
  unless (unique_constraints = attrs[:unique_constraints] || {}).empty?
265
- unique_constraints.each do |_, unique_constraint_attrs|
265
+ unique_constraints.each_value do |unique_constraint_attrs|
266
266
  append_add_unique_constraint(table_name, unique_constraint_attrs, buf, true)
267
267
  end
268
268
  end
@@ -280,7 +280,7 @@ end
280
280
  end
281
281
 
282
282
  unless (foreign_keys = attrs[:foreign_keys] || {}).empty?
283
- foreign_keys.each do |_, foreign_key_attrs|
283
+ foreign_keys.each_value do |foreign_key_attrs|
284
284
  append_add_foreign_key(table_name, foreign_key_attrs, post_buf_for_fk, @options)
285
285
  end
286
286
  end
@@ -308,7 +308,7 @@ drop_table(#{table_name.inspect})
308
308
  def append_change_table_options(table_name, table_options, buf)
309
309
  # XXX: MySQL only
310
310
  buf.puts(<<-RUBY)
311
- execute "ALTER TABLE #{ActiveRecord::Base.connection.quote_table_name(table_name)} #{table_options}"
311
+ execute "ALTER TABLE #{ActiveRecord::Base.connection.quote_table_name(table_name)} #{table_options.dump[1..-2]}"
312
312
  RUBY
313
313
 
314
314
  buf.puts
@@ -506,11 +506,11 @@ remove_index(#{table_name.inspect}, #{target})
506
506
  end
507
507
 
508
508
  def append_change_foreign_keys(table_name, delta, pre_buf_for_fk, post_buf_for_fk, options)
509
- (delta[:delete] || {}).each do |_, attrs|
509
+ (delta[:delete] || {}).each_value do |attrs|
510
510
  append_remove_foreign_key(table_name, attrs, pre_buf_for_fk, options)
511
511
  end
512
512
 
513
- (delta[:add] || {}).each do |_, attrs|
513
+ (delta[:add] || {}).each_value do |attrs|
514
514
  append_add_foreign_key(table_name, attrs, post_buf_for_fk, options)
515
515
  end
516
516
  end
@@ -540,11 +540,11 @@ remove_foreign_key(#{table_name.inspect}, #{target})
540
540
  end
541
541
 
542
542
  def append_change_check_constraints(table_name, delta, buf)
543
- (delta[:delete] || {}).each do |_, attrs|
543
+ (delta[:delete] || {}).each_value do |attrs|
544
544
  append_remove_check_constraint(table_name, attrs, buf)
545
545
  end
546
546
 
547
- (delta[:add] || {}).each do |_, attrs|
547
+ (delta[:add] || {}).each_value do |attrs|
548
548
  append_add_check_constraint(table_name, attrs, buf)
549
549
  end
550
550
  end
@@ -574,11 +574,11 @@ remove_check_constraint(#{table_name.inspect}, #{expression.inspect}, **#{attrs_
574
574
  end
575
575
 
576
576
  def append_change_exclusion_constraints(table_name, delta, buf)
577
- (delta[:delete] || {}).each do |_, attrs|
577
+ (delta[:delete] || {}).each_value do |attrs|
578
578
  append_remove_exclusion_constraint(table_name, attrs, buf)
579
579
  end
580
580
 
581
- (delta[:add] || {}).each do |_, attrs|
581
+ (delta[:add] || {}).each_value do |attrs|
582
582
  append_add_exclusion_constraint(table_name, attrs, buf)
583
583
  end
584
584
  end
@@ -608,11 +608,11 @@ remove_exclusion_constraint(#{table_name.inspect}, #{expression.inspect}, **#{at
608
608
  end
609
609
 
610
610
  def append_change_unique_constraints(table_name, delta, buf)
611
- (delta[:delete] || {}).each do |_, attrs|
611
+ (delta[:delete] || {}).each_value do |attrs|
612
612
  append_remove_unique_constraint(table_name, attrs, buf)
613
613
  end
614
614
 
615
- (delta[:add] || {}).each do |_, attrs|
615
+ (delta[:add] || {}).each_value do |attrs|
616
616
  append_add_unique_constraint(table_name, attrs, buf)
617
617
  end
618
618
  end
@@ -34,7 +34,7 @@ module Ridgepole
34
34
  return unless attrs[:foreign_keys]
35
35
  return unless attrs[:options][:options]&.include?('ENGINE=InnoDB')
36
36
 
37
- attrs[:foreign_keys].each do |_, foreign_key_attrs|
37
+ attrs[:foreign_keys].each_value do |foreign_key_attrs|
38
38
  fk_index = foreign_key_attrs[:options][:column] || "#{foreign_key_attrs[:to_table].singularize}_id"
39
39
  next if attrs[:indices]&.any? { |_k, v| v[:column_name].first == fk_index }
40
40
  # NOTE: For composite primary keys, the first column of the primary key is used as the foreign key index
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ridgepole
4
- VERSION = '2.0.1'
4
+ VERSION = '2.0.2'
5
5
  end
data/ridgepole.gemspec CHANGED
@@ -28,6 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.add_dependency 'diffy'
29
29
 
30
30
  spec.add_development_dependency 'appraisal', '>= 2.2.0'
31
+ spec.add_development_dependency 'bigdecimal'
31
32
  spec.add_development_dependency 'bundler'
32
33
  spec.add_development_dependency 'erbh', '>= 0.2.1'
33
34
  spec.add_development_dependency 'hash_modern_inspect', '>= 0.1.1'
@@ -36,9 +37,9 @@ Gem::Specification.new do |spec|
36
37
  spec.add_development_dependency 'pg'
37
38
  spec.add_development_dependency 'rake'
38
39
  spec.add_development_dependency 'rspec', '>= 3.0.0'
39
- spec.add_development_dependency 'rspec-match_fuzzy', '>= 0.1.3'
40
+ spec.add_development_dependency 'rspec-match_fuzzy', '>= 0.2.0'
40
41
  spec.add_development_dependency 'rspec-match_ruby', '>= 0.1.3'
41
- spec.add_development_dependency 'rubocop', '1.57.2'
42
+ spec.add_development_dependency 'rubocop', '1.60.2'
42
43
  spec.add_development_dependency 'rubocop-rake', '>= 0.5.1'
43
44
  spec.add_development_dependency 'rubocop-rspec', '>= 2.1.0'
44
45
  spec.add_development_dependency 'simplecov'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ridgepole
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-22 00:00:00.000000000 Z
11
+ date: 2024-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -58,6 +58,20 @@ dependencies:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
60
  version: 2.2.0
61
+ - !ruby/object:Gem::Dependency
62
+ name: bigdecimal
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
61
75
  - !ruby/object:Gem::Dependency
62
76
  name: bundler
63
77
  requirement: !ruby/object:Gem::Requirement
@@ -176,14 +190,14 @@ dependencies:
176
190
  requirements:
177
191
  - - ">="
178
192
  - !ruby/object:Gem::Version
179
- version: 0.1.3
193
+ version: 0.2.0
180
194
  type: :development
181
195
  prerelease: false
182
196
  version_requirements: !ruby/object:Gem::Requirement
183
197
  requirements:
184
198
  - - ">="
185
199
  - !ruby/object:Gem::Version
186
- version: 0.1.3
200
+ version: 0.2.0
187
201
  - !ruby/object:Gem::Dependency
188
202
  name: rspec-match_ruby
189
203
  requirement: !ruby/object:Gem::Requirement
@@ -204,14 +218,14 @@ dependencies:
204
218
  requirements:
205
219
  - - '='
206
220
  - !ruby/object:Gem::Version
207
- version: 1.57.2
221
+ version: 1.60.2
208
222
  type: :development
209
223
  prerelease: false
210
224
  version_requirements: !ruby/object:Gem::Requirement
211
225
  requirements:
212
226
  - - '='
213
227
  - !ruby/object:Gem::Version
214
- version: 1.57.2
228
+ version: 1.60.2
215
229
  - !ruby/object:Gem::Dependency
216
230
  name: rubocop-rake
217
231
  requirement: !ruby/object:Gem::Requirement
@@ -348,7 +362,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
348
362
  - !ruby/object:Gem::Version
349
363
  version: '0'
350
364
  requirements: []
351
- rubygems_version: 3.4.10
365
+ rubygems_version: 3.5.1
352
366
  signing_key:
353
367
  specification_version: 4
354
368
  summary: Ridgepole is a tool to manage DB schema.