ridgepole 0.9.3 → 1.0.0
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/Appraisals +4 -0
- data/CHANGELOG.md +238 -0
- data/README.md +12 -142
- data/bin/ridgepole +1 -1
- data/docker-compose.yml +26 -18
- data/gemfiles/activerecord_7.0.gemfile +7 -0
- data/lib/ridgepole/delta.rb +1 -1
- data/lib/ridgepole/diff.rb +4 -1
- data/lib/ridgepole/execute_expander.rb +5 -2
- data/lib/ridgepole/ext/abstract_adapter/disable_table_options.rb +1 -0
- data/lib/ridgepole/version.rb +1 -1
- data/ridgepole.gemspec +8 -5
- metadata +10 -284
- data/.github/workflows/test.yml +0 -70
- data/.gitignore +0 -25
- data/spec/cli_helper.rb +0 -65
- data/spec/dsl_parser/context_spec.rb +0 -16
- data/spec/erb_helper.rb +0 -26
- data/spec/fixtures/for_require_relative_spec.rb +0 -3
- data/spec/hide_pending_formatter.rb +0 -9
- data/spec/mysql/_migrate/migrate_change_table_option_spec.rb +0 -40
- data/spec/mysql/bigint_pk/int_pk_spec.rb +0 -47
- data/spec/mysql/cli/config_spec.rb +0 -210
- data/spec/mysql/cli/ridgepole_spec.rb +0 -447
- data/spec/mysql/collation/collation_spec.rb +0 -153
- data/spec/mysql/comment/comment_spec.rb +0 -179
- data/spec/mysql/default_lambda/default_lambda_spec.rb +0 -164
- data/spec/mysql/diff/diff2_spec.rb +0 -189
- data/spec/mysql/diff/diff_spec.rb +0 -168
- data/spec/mysql/dump/dump_class_method_spec.rb +0 -74
- data/spec/mysql/dump/dump_some_tables_spec.rb +0 -70
- data/spec/mysql/dump/dump_spec.rb +0 -74
- data/spec/mysql/dump/dump_unknown_column_type_spec.rb +0 -28
- data/spec/mysql/dump/dump_without_table_options_spec.rb +0 -34
- data/spec/mysql/fk/migrate_change_fk2_spec.rb +0 -47
- data/spec/mysql/fk/migrate_change_fk_spec.rb +0 -265
- data/spec/mysql/fk/migrate_create_fk_spec.rb +0 -349
- data/spec/mysql/fk/migrate_drop_fk_spec.rb +0 -331
- data/spec/mysql/fk/migrate_fk_with_column_spec.rb +0 -163
- data/spec/mysql/fk/migrate_ignore_fk_spec.rb +0 -70
- data/spec/mysql/migrate/check_orphan_index_spec.rb +0 -83
- data/spec/mysql/migrate/migrate_add_column2_spec.rb +0 -159
- data/spec/mysql/migrate/migrate_add_column_order_spec.rb +0 -242
- data/spec/mysql/migrate/migrate_add_column_spec.rb +0 -161
- data/spec/mysql/migrate/migrate_add_column_with_alter_extra_spec.rb +0 -231
- data/spec/mysql/migrate/migrate_add_column_with_script_spec.rb +0 -152
- data/spec/mysql/migrate/migrate_change_column2_spec.rb +0 -91
- data/spec/mysql/migrate/migrate_change_column3_spec.rb +0 -404
- data/spec/mysql/migrate/migrate_change_column4_spec.rb +0 -83
- data/spec/mysql/migrate/migrate_change_column5_spec.rb +0 -129
- data/spec/mysql/migrate/migrate_change_column6_spec.rb +0 -241
- data/spec/mysql/migrate/migrate_change_column7_spec.rb +0 -34
- data/spec/mysql/migrate/migrate_change_column8_spec.rb +0 -87
- data/spec/mysql/migrate/migrate_change_column_default_spec.rb +0 -199
- data/spec/mysql/migrate/migrate_change_column_float_spec.rb +0 -75
- data/spec/mysql/migrate/migrate_change_column_spec.rb +0 -158
- data/spec/mysql/migrate/migrate_change_index2_spec.rb +0 -86
- data/spec/mysql/migrate/migrate_change_index3_spec.rb +0 -179
- data/spec/mysql/migrate/migrate_change_index4_spec.rb +0 -112
- data/spec/mysql/migrate/migrate_change_index5_spec.rb +0 -74
- data/spec/mysql/migrate/migrate_change_index6_spec.rb +0 -202
- data/spec/mysql/migrate/migrate_change_index7_spec.rb +0 -85
- data/spec/mysql/migrate/migrate_change_index8_spec.rb +0 -85
- data/spec/mysql/migrate/migrate_change_index_spec.rb +0 -235
- data/spec/mysql/migrate/migrate_change_table_comment_spec.rb +0 -72
- data/spec/mysql/migrate/migrate_change_table_option_spec.rb +0 -83
- data/spec/mysql/migrate/migrate_check_relation_column_type_spec.rb +0 -225
- data/spec/mysql/migrate/migrate_create_index2_spec.rb +0 -203
- data/spec/mysql/migrate/migrate_create_index_spec.rb +0 -220
- data/spec/mysql/migrate/migrate_create_table_spec.rb +0 -123
- data/spec/mysql/migrate/migrate_create_table_with_ignore_spec.rb +0 -45
- data/spec/mysql/migrate/migrate_create_table_with_index_spec.rb +0 -43
- data/spec/mysql/migrate/migrate_create_table_with_options_spec.rb +0 -59
- data/spec/mysql/migrate/migrate_create_table_with_script_spec.rb +0 -132
- data/spec/mysql/migrate/migrate_drop_column_and_index2_spec.rb +0 -140
- data/spec/mysql/migrate/migrate_drop_column_and_index_spec.rb +0 -167
- data/spec/mysql/migrate/migrate_drop_column_and_unique_index_spec.rb +0 -52
- data/spec/mysql/migrate/migrate_drop_column_spec.rb +0 -158
- data/spec/mysql/migrate/migrate_drop_index_spec.rb +0 -160
- data/spec/mysql/migrate/migrate_drop_table_spec.rb +0 -123
- data/spec/mysql/migrate/migrate_duplicate_index_spec.rb +0 -27
- data/spec/mysql/migrate/migrate_duplicate_table_spec.rb +0 -37
- data/spec/mysql/migrate/migrate_empty_spec.rb +0 -78
- data/spec/mysql/migrate/migrate_execute_spec.rb +0 -288
- data/spec/mysql/migrate/migrate_ignore_column_spec.rb +0 -98
- data/spec/mysql/migrate/migrate_ignore_index_spec.rb +0 -92
- data/spec/mysql/migrate/migrate_log_file_spec.rb +0 -125
- data/spec/mysql/migrate/migrate_merge_mode_spec.rb +0 -145
- data/spec/mysql/migrate/migrate_noop_spec.rb +0 -234
- data/spec/mysql/migrate/migrate_primary_key_spec.rb +0 -104
- data/spec/mysql/migrate/migrate_rename_column_spec.rb +0 -184
- data/spec/mysql/migrate/migrate_rename_table_spec.rb +0 -241
- data/spec/mysql/migrate/migrate_same_default_null_spec.rb +0 -77
- data/spec/mysql/migrate/migrate_same_spec.rb +0 -82
- data/spec/mysql/migrate/migrate_script_error_spec.rb +0 -91
- data/spec/mysql/migrate/migrate_skip_column_comment_change_spec.rb +0 -39
- data/spec/mysql/migrate/migrate_skip_drop_table_spec.rb +0 -145
- data/spec/mysql/migrate/migrate_skip_rename_column_spec.rb +0 -140
- data/spec/mysql/migrate/migrate_skip_rename_table_spec.rb +0 -141
- data/spec/mysql/migrate/migrate_with_ignore_tables_spec.rb +0 -307
- data/spec/mysql/migrate/migrate_with_pre_post_query_spec.rb +0 -153
- data/spec/mysql/migrate/migrate_with_tables_spec.rb +0 -149
- data/spec/mysql/migrate/migrate_with_verbose_log_spec.rb +0 -60
- data/spec/mysql/ridgepole_test_database.sql +0 -2
- data/spec/mysql/ridgepole_test_tables.sql +0 -79
- data/spec/mysql/ridgepole_test_tables_unknown_column_type.sql +0 -17
- data/spec/mysql/text_blob_types/text_blob_types_spec.rb +0 -131
- data/spec/mysql/~default_name_fk/migrate_change_fk_spec.rb +0 -59
- data/spec/mysql/~default_name_fk/migrate_create_fk_spec.rb +0 -133
- data/spec/mysql/~default_name_fk/migrate_drop_fk_spec.rb +0 -100
- data/spec/mysql/~dump_auto_increment/migrate_create_table_with_index_spec.rb +0 -43
- data/spec/mysql57/json/add_json_column_spec.rb +0 -35
- data/spec/mysql57/json/change_json_column_spec.rb +0 -102
- data/spec/mysql57/json/drop_json_column_spec.rb +0 -35
- data/spec/mysql57/virtual/add_virtual_column_spec.rb +0 -37
- data/spec/mysql57/virtual/change_virtual_column_spec.rb +0 -40
- data/spec/mysql57/virtual/drop_virtual_column_spec.rb +0 -37
- data/spec/postgresql/diff/diff_spec.rb +0 -216
- data/spec/postgresql/dump/dump_spec.rb +0 -69
- data/spec/postgresql/fk/migrate_change_fk_spec.rb +0 -115
- data/spec/postgresql/fk/migrate_create_fk_spec.rb +0 -176
- data/spec/postgresql/fk/migrate_drop_fk_spec.rb +0 -197
- data/spec/postgresql/migrate/migrate_add_column_spec.rb +0 -203
- data/spec/postgresql/migrate/migrate_add_expression_index_spec.rb +0 -25
- data/spec/postgresql/migrate/migrate_bigint_spec.rb +0 -53
- data/spec/postgresql/migrate/migrate_change_column_default_spec.rb +0 -38
- data/spec/postgresql/migrate/migrate_change_column_spec.rb +0 -185
- data/spec/postgresql/migrate/migrate_change_index_spec.rb +0 -164
- data/spec/postgresql/migrate/migrate_check_relation_column_type_spec.rb +0 -114
- data/spec/postgresql/migrate/migrate_create_table_spec.rb +0 -120
- data/spec/postgresql/migrate/migrate_create_table_with_default_proc_spec.rb +0 -112
- data/spec/postgresql/migrate/migrate_drop_column_spec.rb +0 -163
- data/spec/postgresql/migrate/migrate_drop_column_with_index_spec.rb +0 -166
- data/spec/postgresql/migrate/migrate_drop_expression_index_spec.rb +0 -59
- data/spec/postgresql/migrate/migrate_drop_index_spec.rb +0 -158
- data/spec/postgresql/migrate/migrate_drop_table_spec.rb +0 -122
- data/spec/postgresql/migrate/migrate_ext_cols_spec.rb +0 -64
- data/spec/postgresql/migrate/migrate_primary_key2_spec.rb +0 -73
- data/spec/postgresql/migrate/migrate_primary_key_spec.rb +0 -99
- data/spec/postgresql/migrate/migrate_references_spec.rb +0 -90
- data/spec/postgresql/migrate/migrate_rename_column_spec.rb +0 -155
- data/spec/postgresql/migrate/migrate_rename_table_spec.rb +0 -175
- data/spec/postgresql/migrate/migrate_same_spec.rb +0 -77
- data/spec/postgresql/ridgepole_test_database.sql +0 -16
- data/spec/postgresql/ridgepole_test_tables.sql +0 -75
- data/spec/postgresql/~default_name_fk/migrate_change_fk_spec.rb +0 -59
- data/spec/postgresql/~default_name_fk/migrate_create_fk_spec.rb +0 -134
- data/spec/postgresql/~default_name_fk/migrate_drop_fk_spec.rb +0 -100
- data/spec/processing_for_ci.rb +0 -13
- data/spec/spec_condition.rb +0 -58
- data/spec/spec_const.rb +0 -20
- data/spec/spec_helper.rb +0 -173
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dd3d82e112d8ef525a7a909538e864b1dc6b4d1b6eaabad978e2ec552962fd63
|
|
4
|
+
data.tar.gz: 76dcd540c7ae97d1c226077f2b09979fa16e9937ec8a8d8d9f81b001bcdb2ee2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f641654487c60639c6de8633cba4ee8d3dc55a52b200ee43857f670a818c6699ba4271de56616152b8d378aac2c0e1eee118c17aa362c2e5e451542e5be540c3
|
|
7
|
+
data.tar.gz: b502738eb29e65a73e03dc0d64cec03cb250227c319888d65c7869bb123166fbd6354a9accfb25072484ed50e4bbbccd98e674b89dad51618341284bc8c1aeed
|
data/Appraisals
CHANGED
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 1.0 (2021/12/19)
|
|
4
|
+
|
|
5
|
+
* Support Rails 7.0
|
|
6
|
+
* `--skip-drop-table` by default ([pull#363](https://github.com/winebarrel/ridgepole/pull/363))
|
|
7
|
+
|
|
8
|
+
## 0.9
|
|
9
|
+
|
|
10
|
+
### 0.9.6
|
|
11
|
+
|
|
12
|
+
* Fix malformed error ([pull#362](https://github.com/winebarrel/ridgepole/pull/362))
|
|
13
|
+
|
|
14
|
+
### 0.9.5
|
|
15
|
+
|
|
16
|
+
* Call `super` in `disable_table_options.rb` ([pull#357](https://github.com/winebarrel/ridgepole/pull/357))
|
|
17
|
+
|
|
18
|
+
### 0.9.4
|
|
19
|
+
|
|
20
|
+
* Fix `--alter-extra` option for unique index ([pull#356](https://github.com/winebarrel/ridgepole/pull/356))
|
|
21
|
+
|
|
22
|
+
### 0.9.3
|
|
23
|
+
|
|
24
|
+
* Fix `limit` option for `t.integer` ([pull#354](https://github.com/winebarrel/ridgepole/pull/354))
|
|
25
|
+
|
|
26
|
+
### 0.9.2
|
|
27
|
+
|
|
28
|
+
* Support `t.column index option` ([pull#353](https://github.com/winebarrel/ridgepole/pull/353))
|
|
29
|
+
|
|
30
|
+
### 0.9.1
|
|
31
|
+
|
|
32
|
+
* Support `t.foreign_key` ([pull#348](https://github.com/winebarrel/ridgepole/pull/348))
|
|
33
|
+
|
|
34
|
+
### 0.9.0
|
|
35
|
+
|
|
36
|
+
* Remove `--mysql-use-alter` option ([pull#330](https://github.com/winebarrel/ridgepole/pull/330))
|
|
37
|
+
* Add `--table-hash-options` option ([pull#331](https://github.com/winebarrel/ridgepole/pull/331))
|
|
38
|
+
* Support Rails 6.1 ([pull#323](https://github.com/winebarrel/ridgepole/pull/323))
|
|
39
|
+
* Disable Rails 5.0 support ([pull#335](https://github.com/winebarrel/ridgepole/pull/335))
|
|
40
|
+
* Fix PK AUTO_INCREMENT change bug ([pull#334](https://github.com/winebarrel/ridgepole/pull/334))
|
|
41
|
+
|
|
42
|
+
## 0.8
|
|
43
|
+
|
|
44
|
+
### 0.8.13
|
|
45
|
+
|
|
46
|
+
* Support `serial` and `bigserial` column types ([pull#321](https://github.com/winebarrel/ridgepole/pull/321))
|
|
47
|
+
|
|
48
|
+
### 0.8.12
|
|
49
|
+
|
|
50
|
+
* Pluralize column specified by `references` ([pull#317](https://github.com/winebarrel/ridgepole/pull/317))
|
|
51
|
+
|
|
52
|
+
### 0.8.11
|
|
53
|
+
|
|
54
|
+
* Fix FK index check support multiple PK ([pull#315](https://github.com/winebarrel/ridgepole/pull/315))
|
|
55
|
+
* Support t.reference() foreign_key option ([pull#316](https://github.com/winebarrel/ridgepole/pull/316))
|
|
56
|
+
|
|
57
|
+
### 0.8.10
|
|
58
|
+
|
|
59
|
+
* Raise an error if an InnoDB column has a foreign key but no index ([pull#310](https://github.com/winebarrel/ridgepole/pull/310))
|
|
60
|
+
|
|
61
|
+
### 0.8.9
|
|
62
|
+
|
|
63
|
+
* Fix unexpected differences on text types and blob types on Rails 6 ([pull#306](https://github.com/winebarrel/ridgepole/pull/306))
|
|
64
|
+
* Fix unexpected warning when a foreign key is added on the primary key ([pull#307](https://github.com/winebarrel/ridgepole/pull/307))
|
|
65
|
+
|
|
66
|
+
### 0.8.8
|
|
67
|
+
|
|
68
|
+
* Fix keyword arguments warnings in Ruby 2.7 ([pull#303](https://github.com/winebarrel/ridgepole/pull/303))
|
|
69
|
+
|
|
70
|
+
### 0.8.7
|
|
71
|
+
|
|
72
|
+
* Support `require_relative` ([pull#298](https://github.com/winebarrel/ridgepole/pull/298))
|
|
73
|
+
|
|
74
|
+
### 0.8.6
|
|
75
|
+
|
|
76
|
+
* Support multiple databases feature ([pull#297](https://github.com/winebarrel/ridgepole/pull/297))
|
|
77
|
+
|
|
78
|
+
### 0.8.5
|
|
79
|
+
|
|
80
|
+
* Improve warning message on table options ([pull#291](https://github.com/winebarrel/ridgepole/pull/291))
|
|
81
|
+
|
|
82
|
+
### 0.8.4
|
|
83
|
+
|
|
84
|
+
* 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/winebarrel/ridgepole/pull/290))
|
|
85
|
+
|
|
86
|
+
### 0.8.3
|
|
87
|
+
|
|
88
|
+
* Fix "topological sort failed" error ([pull#287](https://github.com/winebarrel/ridgepole/pull/287))
|
|
89
|
+
|
|
90
|
+
### 0.8.2
|
|
91
|
+
|
|
92
|
+
* Support `postgres://` schema ([pull#285](https://github.com/winebarrel/ridgepole/pull/285))
|
|
93
|
+
|
|
94
|
+
### 0.8.1
|
|
95
|
+
|
|
96
|
+
* Drop tables in an order considering foreign key constraints ([pull#284](https://github.com/winebarrel/ridgepole/pull/284))
|
|
97
|
+
|
|
98
|
+
### 0.8.0
|
|
99
|
+
|
|
100
|
+
* Support Rails 6.0
|
|
101
|
+
|
|
102
|
+
## 0.7
|
|
103
|
+
|
|
104
|
+
### 0.7.8
|
|
105
|
+
|
|
106
|
+
* Fix for `add_foreign_key(..., column: ,,,)` ([pull#278](https://github.com/winebarrel/ridgepole/pull/278))
|
|
107
|
+
|
|
108
|
+
### 0.7.7
|
|
109
|
+
|
|
110
|
+
* Support URI query string ([pull#273](https://github.com/winebarrel/ridgepole/pull/273))
|
|
111
|
+
|
|
112
|
+
### 0.7.6
|
|
113
|
+
|
|
114
|
+
* Fix database url check ([pull#266](https://github.com/winebarrel/ridgepole/pull/266))
|
|
115
|
+
* Add ignore option ([pull#267](https://github.com/winebarrel/ridgepole/pull/267))
|
|
116
|
+
|
|
117
|
+
### 0.7.5
|
|
118
|
+
|
|
119
|
+
* Fix polymorphic options ([pull#263](https://github.com/winebarrel/ridgepole/pull/263))
|
|
120
|
+
* Fix `--mysql-use-alter` option ([pull#246](https://github.com/winebarrel/ridgepole/pull/264))
|
|
121
|
+
* Fix Database URI parsing ([pull#265](https://github.com/winebarrel/ridgepole/pull/265))
|
|
122
|
+
|
|
123
|
+
### 0.7.4
|
|
124
|
+
|
|
125
|
+
* Fix `add_foreign_key` options ([issue#250](https://github.com/winebarrel/ridgepole/issues/250))
|
|
126
|
+
|
|
127
|
+
### 0.7.3
|
|
128
|
+
|
|
129
|
+
* Add `--mysql-change-table-comment option` ([pull#166](https://github.com/winebarrel/ridgepole/pull/166))
|
|
130
|
+
* Refactoring with RuboCop
|
|
131
|
+
* Support primary key adding/dropping ([issue#246](https://github.com/winebarrel/ridgepole/issues/246))
|
|
132
|
+
|
|
133
|
+
### 0.7.2
|
|
134
|
+
|
|
135
|
+
* Support Rails 5.2
|
|
136
|
+
|
|
137
|
+
### 0.7.1
|
|
138
|
+
|
|
139
|
+
* Remove `--reverse` option
|
|
140
|
+
* Add `--allow-pk-change` option
|
|
141
|
+
* Add `--create-table-with-index` option
|
|
142
|
+
* Add `--mysql-dump-auto-increment` option (`rails >= 5.1`)
|
|
143
|
+
|
|
144
|
+
### 0.7.0
|
|
145
|
+
|
|
146
|
+
* Remove Rails 4.x support
|
|
147
|
+
* Add Rails 5.1 support
|
|
148
|
+
* Remove `--enable-mysql-awesome` option
|
|
149
|
+
* Add `--skip-drop-table` option
|
|
150
|
+
* Support foreign key without name
|
|
151
|
+
* Support MySQL JSON Type and Generated Columns
|
|
152
|
+
* Add `--mysql-change-table-options` option
|
|
153
|
+
* Pass config from env
|
|
154
|
+
* Fix change fk order
|
|
155
|
+
* Add `--check-relation-type` option
|
|
156
|
+
* Add `--skip-column-comment-change` option
|
|
157
|
+
* Add `--default-bigint-limit` option
|
|
158
|
+
* Add `--ignore-table-comment` option
|
|
159
|
+
|
|
160
|
+
## 0.6
|
|
161
|
+
|
|
162
|
+
### 0.6.6
|
|
163
|
+
|
|
164
|
+
* Use `t.column` for migration ([pull#114](https://github.com/winebarrel/ridgepole/pull/114))
|
|
165
|
+
* Support DATABASE_URL format ([pull#118](https://github.com/winebarrel/ridgepole/pull/118))
|
|
166
|
+
* Add Ruby2.4 CI ([pull#119](https://github.com/winebarrel/ridgepole/pull/119))
|
|
167
|
+
|
|
168
|
+
### 0.6.5
|
|
169
|
+
|
|
170
|
+
* Fix rails version `'>= 4.2', '< 6'`
|
|
171
|
+
* Support new types ([pull#84](https://github.com/winebarrel/ridgepole/pull/84))
|
|
172
|
+
* Support `default: -> { ... }` ([pull#85](https://github.com/winebarrel/ridgepole/pull/85))
|
|
173
|
+
* Support DDL Comment (Rails5 only)
|
|
174
|
+
* Output schema diff when pass `--verbose`
|
|
175
|
+
* Support composite primary key (Rails5 only / [pull#97](https://github.com/winebarrel/ridgepole/pull/97))
|
|
176
|
+
|
|
177
|
+
### 0.6.4
|
|
178
|
+
|
|
179
|
+
* Execute sql using external script ([pull#56](https://github.com/winebarrel/ridgepole/pull/56))
|
|
180
|
+
* Add `--mysql-use-alter` option
|
|
181
|
+
* Add `--alter-extra` option
|
|
182
|
+
* Add `--dump-with-default-fk-name` option
|
|
183
|
+
* Support `t.index` ([pull#64](https://github.com/winebarrel/ridgepole/pull/64))
|
|
184
|
+
* Remove migration_comments
|
|
185
|
+
* Fix foreign key apply order
|
|
186
|
+
|
|
187
|
+
### 0.6.3
|
|
188
|
+
|
|
189
|
+
* Fix `default` option ([pull#48](https://github.com/winebarrel/ridgepole/pull/48))
|
|
190
|
+
* Add `--enable-migration-comments` option ([pull#50](https://github.com/winebarrel/ridgepole/pull/50))
|
|
191
|
+
* Disable `rename_table_indexes`
|
|
192
|
+
|
|
193
|
+
### 0.6.1
|
|
194
|
+
|
|
195
|
+
* Support [PostgreSQL columns](https://github.com/winebarrel/rails/blob/v4.2.1/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L79)
|
|
196
|
+
|
|
197
|
+
### 0.6.0
|
|
198
|
+
|
|
199
|
+
* Fix rails version `~> 4.2.1`
|
|
200
|
+
* Disable following libraries support:
|
|
201
|
+
* activerecord-mysql-unsigned
|
|
202
|
+
* migration_comments
|
|
203
|
+
* foreigner
|
|
204
|
+
* Disable sqlite support
|
|
205
|
+
* Add PostgreSQL test
|
|
206
|
+
* Remove `--mysql-awesome-unsigned-pk` option
|
|
207
|
+
|
|
208
|
+
## 0.5
|
|
209
|
+
|
|
210
|
+
### 0.5.2
|
|
211
|
+
|
|
212
|
+
* Add `--enable-mysql-awesome` option ([activerecord-mysql-awesome](https://github.com/kamipo/activerecord-mysql-awesome) is required `>= 0.0.3`)
|
|
213
|
+
* 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`
|
|
214
|
+
* Fix foreigner version `<= 1.7.1`
|
|
215
|
+
|
|
216
|
+
### 0.5.1
|
|
217
|
+
|
|
218
|
+
* Add `--enable-migration-comments` option ([migration_comments](https://github.com/pinnymz/migration_comments) is required)
|
|
219
|
+
* Fix rails version `< 4.2.0`
|
|
220
|
+
|
|
221
|
+
### 0.5.0
|
|
222
|
+
|
|
223
|
+
* Fix `activerecord-mysql-unsigned` version: `~> 0.3.1`
|
|
224
|
+
|
|
225
|
+
## 0.4
|
|
226
|
+
|
|
227
|
+
### 0.4.12
|
|
228
|
+
|
|
229
|
+
* Fix `activerecord-mysql-unsigned` version: `~> 0.2.0`
|
|
230
|
+
|
|
231
|
+
### 0.4.11
|
|
232
|
+
|
|
233
|
+
* Add `--enable-mysql-pkdump` option.
|
|
234
|
+
|
|
235
|
+
### 0.4.8
|
|
236
|
+
|
|
237
|
+
* `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.
|
|
238
|
+
* 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
|
@@ -6,150 +6,20 @@ It defines DB schema using [Rails DSL](http://guides.rubyonrails.org/migrations.
|
|
|
6
6
|
(like Chef/Puppet)
|
|
7
7
|
|
|
8
8
|
[](http://badge.fury.io/rb/ridgepole)
|
|
9
|
-
[ if you want to use.
|
|
16
|
-
* Please pass `--enable-foreigner` after you install [foreigner](https://github.com/matthuhiggins/foreigner) if you want to use the foreign key.
|
|
17
|
-
* `>= 0.4.11`
|
|
18
|
-
* Add `--enable-mysql-pkdump` option.
|
|
19
|
-
* `>= 0.4.12`
|
|
20
|
-
* Fix `activerecord-mysql-unsigned` version: `~> 0.2.0`
|
|
21
|
-
* `>= 0.5.0`
|
|
22
|
-
* Fix `activerecord-mysql-unsigned` version: `~> 0.3.1`
|
|
23
|
-
* `>= 0.5.1`
|
|
24
|
-
* Add `--enable-migration-comments` option ([migration_comments](https://github.com/pinnymz/migration_comments) is required)
|
|
25
|
-
* Fix rails version `< 4.2.0`
|
|
26
|
-
* `>= 0.5.2`
|
|
27
|
-
* Add `--enable-mysql-awesome` option ([activerecord-mysql-awesome](https://github.com/kamipo/activerecord-mysql-awesome) is required `>= 0.0.3`)
|
|
28
|
-
* 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`
|
|
29
|
-
* Fix foreigner version `<= 1.7.1`
|
|
30
|
-
* `>= 0.6.0`
|
|
31
|
-
* Fix rails version `~> 4.2.1`
|
|
32
|
-
* Disable following libraries support:
|
|
33
|
-
* activerecord-mysql-unsigned
|
|
34
|
-
* migration_comments
|
|
35
|
-
* foreigner
|
|
36
|
-
* Disable sqlite support
|
|
37
|
-
* Add PostgreSQL test
|
|
38
|
-
* Remove `--mysql-awesome-unsigned-pk` option
|
|
39
|
-
* `>= 0.6.1`
|
|
40
|
-
* Support [PostgreSQL columns](https://github.com/winebarrel/rails/blob/v4.2.1/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L79)
|
|
41
|
-
* `>= 0.6.3`
|
|
42
|
-
* Fix `default` option ([pull#48](https://github.com/winebarrel/ridgepole/pull/48))
|
|
43
|
-
* Add `--enable-migration-comments` option ([pull#50](https://github.com/winebarrel/ridgepole/pull/50))
|
|
44
|
-
* Disable `rename_table_indexes`
|
|
45
|
-
* `>= 0.6.4`
|
|
46
|
-
* Execute sql using external script ([pull#56](https://github.com/winebarrel/ridgepole/pull/56))
|
|
47
|
-
* Add `--mysql-use-alter` option
|
|
48
|
-
* Add `--alter-extra` option
|
|
49
|
-
* Add `--dump-with-default-fk-name` option
|
|
50
|
-
* Support `t.index` ([pull#64](https://github.com/winebarrel/ridgepole/pull/64))
|
|
51
|
-
* Remove migration_comments
|
|
52
|
-
* Fix foreign key apply order
|
|
53
|
-
* `>= 0.6.5`
|
|
54
|
-
* Fix rails version `'>= 4.2', '< 6'`
|
|
55
|
-
* Support new types ([pull#84](https://github.com/winebarrel/ridgepole/pull/84))
|
|
56
|
-
* Support `default: -> { ... }` ([pull#85](https://github.com/winebarrel/ridgepole/pull/85))
|
|
57
|
-
* Support DDL Comment (Rails5 only)
|
|
58
|
-
* Output schema diff when pass `--verbose`
|
|
59
|
-
* Support composite primary key (Rails5 only / [pull#97](https://github.com/winebarrel/ridgepole/pull/97))
|
|
60
|
-
* `>= 0.6.6`
|
|
61
|
-
* Use `t.column` for migration ([pull#114](https://github.com/winebarrel/ridgepole/pull/114))
|
|
62
|
-
* Support DATABASE_URL format ([pull#118](https://github.com/winebarrel/ridgepole/pull/118))
|
|
63
|
-
* Add Ruby2.4 CI ([pull#119](https://github.com/winebarrel/ridgepole/pull/119))
|
|
64
|
-
* `>= 0.7.0`
|
|
65
|
-
* Remove Rails 4.x support
|
|
66
|
-
* Add Rails 5.1 support
|
|
67
|
-
* Remove `--enable-mysql-awesome` option
|
|
68
|
-
* Add `--skip-drop-table` option
|
|
69
|
-
* Support foreign key without name
|
|
70
|
-
* Support MySQL JSON Type and Generated Columns
|
|
71
|
-
* Add `--mysql-change-table-options` option
|
|
72
|
-
* Pass config from env
|
|
73
|
-
* Fix change fk order
|
|
74
|
-
* Add `--check-relation-type` option
|
|
75
|
-
* Add `--skip-column-comment-change` option
|
|
76
|
-
* Add `--default-bigint-limit` option
|
|
77
|
-
* Add `--ignore-table-comment` option
|
|
78
|
-
* `>= 0.7.1`
|
|
79
|
-
* Remove `--reverse` option
|
|
80
|
-
* Add `--allow-pk-change` option
|
|
81
|
-
* Add `--create-table-with-index` option
|
|
82
|
-
* Add `--mysql-dump-auto-increment` option (`rails >= 5.1`)
|
|
83
|
-
* `>= 0.7.2`
|
|
84
|
-
* Support Rails 5.2
|
|
85
|
-
* `>= 0.7.3`
|
|
86
|
-
* Add `--mysql-change-table-comment option` ([pull#166](https://github.com/winebarrel/ridgepole/pull/166))
|
|
87
|
-
* Refactoring with RuboCop
|
|
88
|
-
* Support primary key adding/dropping ([issue#246](https://github.com/winebarrel/ridgepole/issues/246))
|
|
89
|
-
* `>= 0.7.4`
|
|
90
|
-
* Fix `add_foreign_key` options ([issue#250](https://github.com/winebarrel/ridgepole/issues/250))
|
|
91
|
-
* `>= 0.7.5`
|
|
92
|
-
* Fix polymorphic options ([pull#263](https://github.com/winebarrel/ridgepole/pull/263))
|
|
93
|
-
* Fix `--mysql-use-alter` option ([pull#246](https://github.com/winebarrel/ridgepole/pull/264))
|
|
94
|
-
* Fix Database URI parsing ([pull#265](https://github.com/winebarrel/ridgepole/pull/265))
|
|
95
|
-
* `>= 0.7.6`
|
|
96
|
-
* Fix database url check ([pull#266](https://github.com/winebarrel/ridgepole/pull/266))
|
|
97
|
-
* Add ignore option ([pull#267](https://github.com/winebarrel/ridgepole/pull/267))
|
|
98
|
-
* `>= 0.7.7`
|
|
99
|
-
* Support URI query string ([pull#273](https://github.com/winebarrel/ridgepole/pull/273))
|
|
100
|
-
* `>= 0.7.8`
|
|
101
|
-
* Fix for `add_foreign_key(..., column: ,,,)` ([pull#278](https://github.com/winebarrel/ridgepole/pull/278))
|
|
102
|
-
* `>= 0.8.0`
|
|
103
|
-
* Support Rails 6.0
|
|
104
|
-
* `>= 0.8.1`
|
|
105
|
-
* Drop tables in an order considering foreign key constraints ([pull#284](https://github.com/winebarrel/ridgepole/pull/284))
|
|
106
|
-
* `>= 0.8.2`
|
|
107
|
-
* Support `postgres://` schema ([pull#285](https://github.com/winebarrel/ridgepole/pull/285))
|
|
108
|
-
* `>= 0.8.3`
|
|
109
|
-
* Fix "topological sort failed" error ([pull#287](https://github.com/winebarrel/ridgepole/pull/287))
|
|
110
|
-
* `>= 0.8.4`
|
|
111
|
-
* 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/winebarrel/ridgepole/pull/290))
|
|
112
|
-
* `>= 0.8.5`
|
|
113
|
-
* Improve warning message on table options ([pull#291](https://github.com/winebarrel/ridgepole/pull/291))
|
|
114
|
-
* `>= 0.8.6`
|
|
115
|
-
* Support multiple databases feature ([pull#297](https://github.com/winebarrel/ridgepole/pull/297))
|
|
116
|
-
* `>= 0.8.7`
|
|
117
|
-
* Support `require_relative` ([pull#298](https://github.com/winebarrel/ridgepole/pull/298))
|
|
118
|
-
* `>= 0.8.8`
|
|
119
|
-
* Fix keyword arguments warnings in Ruby 2.7 ([pull#303](https://github.com/winebarrel/ridgepole/pull/303))
|
|
120
|
-
* `>= 0.8.9`
|
|
121
|
-
* Fix unexpected differences on text types and blob types on Rails 6 ([pull#306](https://github.com/winebarrel/ridgepole/pull/306))
|
|
122
|
-
* Fix unexpected warning when a foreign key is added on the primary key ([pull#307](https://github.com/winebarrel/ridgepole/pull/307))
|
|
123
|
-
* `>= 0.8.10`
|
|
124
|
-
* Raise an error if an InnoDB column has a foreign key but no index ([pull#310](https://github.com/winebarrel/ridgepole/pull/310))
|
|
125
|
-
* `>= 0.8.11`
|
|
126
|
-
* Fix FK index check support multiple PK ([pull#315](https://github.com/winebarrel/ridgepole/pull/315))
|
|
127
|
-
* Support t.reference() foreign_key option ([pull#316](https://github.com/winebarrel/ridgepole/pull/316))
|
|
128
|
-
* `>= 0.8.12`
|
|
129
|
-
* Pluralize column specified by `references` ([pull#317](https://github.com/winebarrel/ridgepole/pull/317))
|
|
130
|
-
* `>= 0.8.13`
|
|
131
|
-
* Support `serial` and `bigserial` column types ([pull#321](https://github.com/winebarrel/ridgepole/pull/321))
|
|
132
|
-
* `>= 0.9.0`
|
|
133
|
-
* Remove `--mysql-use-alter` option ([pull#330](https://github.com/winebarrel/ridgepole/pull/330))
|
|
134
|
-
* Add `--table-hash-options` option ([pull#331](https://github.com/winebarrel/ridgepole/pull/331))
|
|
135
|
-
* Support Rails 6.1 ([pull#323](https://github.com/winebarrel/ridgepole/pull/323))
|
|
136
|
-
* Disable Rails 5.0 support ([pull#335](https://github.com/winebarrel/ridgepole/pull/335))
|
|
137
|
-
* Fix PK AUTO_INCREMENT change bug ([pull#334](https://github.com/winebarrel/ridgepole/pull/334))
|
|
138
|
-
* `>= 0.9.1`
|
|
139
|
-
* Support `t.foreign_key` ([pull#348](https://github.com/winebarrel/ridgepole/pull/348))
|
|
140
|
-
* `>= 0.9.2`
|
|
141
|
-
* Support `t.column index option` ([pull#353](https://github.com/winebarrel/ridgepole/pull/353))
|
|
142
|
-
* `>= 0.9.3`
|
|
143
|
-
* Fix `limit` option for `t.integer` ([pull#354](https://github.com/winebarrel/ridgepole/pull/453))
|
|
144
|
-
</details>
|
|
9
|
+
[](https://github.com/winebarrel/ridgepole/actions)
|
|
10
|
+
[](https://coveralls.io/github/winebarrel/ridgepole?branch=1.0)
|
|
145
11
|
|
|
146
12
|
**Notice**
|
|
147
13
|
|
|
148
|
-
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.
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
14
|
+
* 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.
|
|
15
|
+
* **If you use ActiveRecord 6.1, please modify Schemafile format**.
|
|
16
|
+
* cf. https://github.com/winebarrel/ridgepole/pull/323
|
|
17
|
+
* `DROP TABLE` is skipped by default in v1.0 and later versions.
|
|
18
|
+
* If you want to `DROP TABLE`, please pass `--drop-table`.
|
|
19
|
+
* cf. https://github.com/ridgepole/ridgepole/pull/363
|
|
20
|
+
* In Rails 7.0, the output of dumper is different from Rails 6.
|
|
21
|
+
* cf. https://github.com/rails/rails/issues/43909
|
|
22
|
+
* cf. https://github.com/rails/rails/commit/c2a6f618d22cca4d9b7be7fa7652e7aac509350c#diff-55f41513f027a3d219629f475f03c2d1105ca55c5093d691e1b3dc4710c6cc0b
|
|
153
23
|
|
|
154
24
|
## Installation
|
|
155
25
|
|
|
@@ -200,7 +70,7 @@ Usage: ridgepole [options]
|
|
|
200
70
|
--dump-without-table-options
|
|
201
71
|
--dump-with-default-fk-name
|
|
202
72
|
--index-removed-drop-column
|
|
203
|
-
--
|
|
73
|
+
--drop-table
|
|
204
74
|
--mysql-change-table-options
|
|
205
75
|
--mysql-change-table-comment
|
|
206
76
|
--check-relation-type DEF_PK
|
data/bin/ridgepole
CHANGED
|
@@ -137,7 +137,7 @@ ARGV.options do |opt|
|
|
|
137
137
|
opt.on('', '--dump-without-table-options') { options[:dump_without_table_options] = true }
|
|
138
138
|
opt.on('', '--dump-with-default-fk-name') { options[:dump_with_default_fk_name] = true }
|
|
139
139
|
opt.on('', '--index-removed-drop-column') { options[:index_removed_drop_column] = true }
|
|
140
|
-
opt.on('', '--
|
|
140
|
+
opt.on('', '--drop-table') { options[:force_drop_table] = true }
|
|
141
141
|
opt.on('', '--mysql-change-table-options') { options[:mysql_change_table_options] = true }
|
|
142
142
|
opt.on('', '--mysql-change-table-comment') { options[:mysql_change_table_comment] = true }
|
|
143
143
|
opt.on('', '--check-relation-type DEF_PK') { |v| options[:check_relation_type] = v }
|
data/docker-compose.yml
CHANGED
|
@@ -1,18 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
version: "3.8"
|
|
2
|
+
services:
|
|
3
|
+
mysql:
|
|
4
|
+
image: "mysql:5.6"
|
|
5
|
+
ports:
|
|
6
|
+
- "13316:3306"
|
|
7
|
+
environment:
|
|
8
|
+
MYSQL_ROOT_PASSWORD: password
|
|
9
|
+
mysql57:
|
|
10
|
+
image: "mysql:5.7"
|
|
11
|
+
ports:
|
|
12
|
+
- "13317:3306"
|
|
13
|
+
environment:
|
|
14
|
+
MYSQL_ROOT_PASSWORD: password
|
|
15
|
+
mysql80:
|
|
16
|
+
image: "mysql:8.0"
|
|
17
|
+
ports:
|
|
18
|
+
- "13318:3306"
|
|
19
|
+
environment:
|
|
20
|
+
MYSQL_ROOT_PASSWORD: password
|
|
21
|
+
postgres:
|
|
22
|
+
image: "postgres:14"
|
|
23
|
+
ports:
|
|
24
|
+
- "15442:5432"
|
|
25
|
+
environment:
|
|
26
|
+
POSTGRES_PASSWORD: password
|
data/lib/ridgepole/delta.rb
CHANGED
|
@@ -191,7 +191,7 @@ module Ridgepole
|
|
|
191
191
|
errmsg = lines.with_index.map do |l, i|
|
|
192
192
|
line_num = i + 1
|
|
193
193
|
prefix = line_num == err_num ? '* ' : ' '
|
|
194
|
-
format("#{prefix}%<line_num>#{digit_number}d:
|
|
194
|
+
format("#{prefix}%<line_num>#{digit_number}d: %<line>s", line_num: line_num, line: l)
|
|
195
195
|
end
|
|
196
196
|
|
|
197
197
|
if err_num > 0
|
data/lib/ridgepole/diff.rb
CHANGED
|
@@ -41,7 +41,7 @@ module Ridgepole
|
|
|
41
41
|
|
|
42
42
|
scan_relation_info(relation_info)
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
if !@options[:merge] && @options[:force_drop_table]
|
|
45
45
|
from.each do |table_name, from_attrs|
|
|
46
46
|
next unless target?(table_name)
|
|
47
47
|
|
|
@@ -419,6 +419,9 @@ module Ridgepole
|
|
|
419
419
|
opts[:limit] = 4_294_967_295
|
|
420
420
|
end
|
|
421
421
|
end
|
|
422
|
+
|
|
423
|
+
# Workaround for Active Record 7.0
|
|
424
|
+
opts.delete(:precision) if attrs[:type] == :datetime && opts[:precision].nil?
|
|
422
425
|
end
|
|
423
426
|
end
|
|
424
427
|
|
|
@@ -13,7 +13,10 @@ module Ridgepole
|
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
module ConnectionAdapterExt
|
|
16
|
-
def execute(
|
|
16
|
+
def execute(*args)
|
|
17
|
+
sql = args.fetch(0)
|
|
18
|
+
name = args[1]
|
|
19
|
+
|
|
17
20
|
if Ridgepole::ExecuteExpander.noop
|
|
18
21
|
if (callback = Ridgepole::ExecuteExpander.callback)
|
|
19
22
|
sql = append_alter_extra(sql)
|
|
@@ -50,7 +53,7 @@ module Ridgepole
|
|
|
50
53
|
case sql
|
|
51
54
|
when /\AALTER\b/i
|
|
52
55
|
sql += ',' + Ridgepole::ExecuteExpander.alter_extra
|
|
53
|
-
when /\A(CREATE|DROP)\s+INDEX\b/i
|
|
56
|
+
when /\A(CREATE|DROP)\s+((ONLINE|OFFLINE)\s+)?((UNIQUE|FULLTEXT|SPATIAL)\s+)?INDEX\b/i
|
|
54
57
|
# https://dev.mysql.com/doc/refman/5.6/en/create-index.html
|
|
55
58
|
# https://dev.mysql.com/doc/refman/5.6/en/drop-index.html
|
|
56
59
|
sql += ' ' + Ridgepole::ExecuteExpander.alter_extra.tr(',', ' ')
|
data/lib/ridgepole/version.rb
CHANGED
data/ridgepole.gemspec
CHANGED
|
@@ -8,20 +8,23 @@ Gem::Specification.new do |spec|
|
|
|
8
8
|
spec.name = 'ridgepole'
|
|
9
9
|
spec.version = Ridgepole::VERSION
|
|
10
10
|
spec.authors = ['Genki Sugawara']
|
|
11
|
-
spec.email = ['sugawara@
|
|
11
|
+
spec.email = ['sugawara@winebarrel.jp']
|
|
12
12
|
spec.summary = 'Ridgepole is a tool to manage DB schema.'
|
|
13
13
|
spec.description = 'Ridgepole is a tool to manage DB schema. It defines DB schema using Rails DSL, and updates DB schema according to DSL.'
|
|
14
|
-
spec.homepage = 'https://github.com/
|
|
14
|
+
spec.homepage = 'https://github.com/ridgepole/ridgepole'
|
|
15
15
|
spec.license = 'MIT'
|
|
16
16
|
|
|
17
|
-
spec.files
|
|
17
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
|
18
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
|
19
|
+
f.match(%r{\A(?:(?:test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
|
|
20
|
+
end
|
|
21
|
+
end
|
|
18
22
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
19
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
20
23
|
spec.require_paths = ['lib']
|
|
21
24
|
|
|
22
25
|
spec.required_ruby_version = Gem::Requirement.new('>= 2.2.7') # rubocop:disable Gemspec/RequiredRubyVersion
|
|
23
26
|
|
|
24
|
-
spec.add_dependency 'activerecord', '>= 5.1', '<
|
|
27
|
+
spec.add_dependency 'activerecord', '>= 5.1', '< 7.1'
|
|
25
28
|
spec.add_dependency 'diffy'
|
|
26
29
|
|
|
27
30
|
spec.add_development_dependency 'appraisal', '>= 2.2.0'
|