ridgepole 1.0.0 → 1.0.1
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/.rubocop.yml +1 -1
- data/.simplecov +1 -1
- data/CHANGELOG.md +56 -48
- data/README.md +11 -10
- data/bin/ridgepole +83 -85
- data/lib/ridgepole/external_sql_executer.rb +11 -13
- data/lib/ridgepole/version.rb +1 -1
- data/ridgepole.gemspec +3 -2
- metadata +8 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: df3bfdcffa2eb5efe360debc1e37b578cde066eca7c9893f38cd110cab576b31
|
|
4
|
+
data.tar.gz: 44af328c711fe5f4d9cf2accbf5eef8a0738daa7b7047cfb47c0ec403ee34149
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f2d96fd5d2683583ea72cb91fcb7659c8c9f2d76b9e3b323b0eb1af99cbb737c3f7e79888aefd6b71e850ac6a34e4c7b291bcff141574bc43a28ac112efc4d2b
|
|
7
|
+
data.tar.gz: d191764d26bfb55e70a95ef9f1a806a22e97746b54dcf1616cb3e4ae58425b2d187b9d3c023f70e62c1f6a507546888871e8a5ccb410a87dd1b22601b2b71902
|
data/.rubocop.yml
CHANGED
data/.simplecov
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,99 +1,107 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 1.0
|
|
3
|
+
## 1.0
|
|
4
|
+
|
|
5
|
+
### 1.0.1 (2022/01/15)
|
|
6
|
+
|
|
7
|
+
* Fix code for RuboCop 1.24.1
|
|
8
|
+
* Fix PostgreSQL spec for Rails 7.0
|
|
9
|
+
* Update ERBh gem (for development)
|
|
10
|
+
|
|
11
|
+
### 1.0.0 (2021/12/19)
|
|
4
12
|
|
|
5
13
|
* Support Rails 7.0
|
|
6
|
-
* `--skip-drop-table` by default ([pull#363](https://github.com/
|
|
14
|
+
* `--skip-drop-table` by default ([pull#363](https://github.com/ridgepole/ridgepole/pull/363))
|
|
7
15
|
|
|
8
16
|
## 0.9
|
|
9
17
|
|
|
10
18
|
### 0.9.6
|
|
11
19
|
|
|
12
|
-
* Fix malformed error ([pull#362](https://github.com/
|
|
20
|
+
* Fix malformed error ([pull#362](https://github.com/ridgepole/ridgepole/pull/362))
|
|
13
21
|
|
|
14
22
|
### 0.9.5
|
|
15
23
|
|
|
16
|
-
* Call `super` in `disable_table_options.rb` ([pull#357](https://github.com/
|
|
24
|
+
* Call `super` in `disable_table_options.rb` ([pull#357](https://github.com/ridgepole/ridgepole/pull/357))
|
|
17
25
|
|
|
18
26
|
### 0.9.4
|
|
19
27
|
|
|
20
|
-
* Fix `--alter-extra` option for unique index ([pull#356](https://github.com/
|
|
28
|
+
* Fix `--alter-extra` option for unique index ([pull#356](https://github.com/ridgepole/ridgepole/pull/356))
|
|
21
29
|
|
|
22
30
|
### 0.9.3
|
|
23
31
|
|
|
24
|
-
* Fix `limit` option for `t.integer` ([pull#354](https://github.com/
|
|
32
|
+
* Fix `limit` option for `t.integer` ([pull#354](https://github.com/ridgepole/ridgepole/pull/354))
|
|
25
33
|
|
|
26
34
|
### 0.9.2
|
|
27
35
|
|
|
28
|
-
* Support `t.column index option` ([pull#353](https://github.com/
|
|
36
|
+
* Support `t.column index option` ([pull#353](https://github.com/ridgepole/ridgepole/pull/353))
|
|
29
37
|
|
|
30
38
|
### 0.9.1
|
|
31
39
|
|
|
32
|
-
* Support `t.foreign_key` ([pull#348](https://github.com/
|
|
40
|
+
* Support `t.foreign_key` ([pull#348](https://github.com/ridgepole/ridgepole/pull/348))
|
|
33
41
|
|
|
34
42
|
### 0.9.0
|
|
35
43
|
|
|
36
|
-
* Remove `--mysql-use-alter` option ([pull#330](https://github.com/
|
|
37
|
-
* Add `--table-hash-options` option ([pull#331](https://github.com/
|
|
38
|
-
* Support Rails 6.1 ([pull#323](https://github.com/
|
|
39
|
-
* Disable Rails 5.0 support ([pull#335](https://github.com/
|
|
40
|
-
* Fix PK AUTO_INCREMENT change bug ([pull#334](https://github.com/
|
|
44
|
+
* Remove `--mysql-use-alter` option ([pull#330](https://github.com/ridgepole/ridgepole/pull/330))
|
|
45
|
+
* Add `--table-hash-options` option ([pull#331](https://github.com/ridgepole/ridgepole/pull/331))
|
|
46
|
+
* Support Rails 6.1 ([pull#323](https://github.com/ridgepole/ridgepole/pull/323))
|
|
47
|
+
* Disable Rails 5.0 support ([pull#335](https://github.com/ridgepole/ridgepole/pull/335))
|
|
48
|
+
* Fix PK AUTO_INCREMENT change bug ([pull#334](https://github.com/ridgepole/ridgepole/pull/334))
|
|
41
49
|
|
|
42
50
|
## 0.8
|
|
43
51
|
|
|
44
52
|
### 0.8.13
|
|
45
53
|
|
|
46
|
-
* Support `serial` and `bigserial` column types ([pull#321](https://github.com/
|
|
54
|
+
* Support `serial` and `bigserial` column types ([pull#321](https://github.com/ridgepole/ridgepole/pull/321))
|
|
47
55
|
|
|
48
56
|
### 0.8.12
|
|
49
57
|
|
|
50
|
-
* Pluralize column specified by `references` ([pull#317](https://github.com/
|
|
58
|
+
* Pluralize column specified by `references` ([pull#317](https://github.com/ridgepole/ridgepole/pull/317))
|
|
51
59
|
|
|
52
60
|
### 0.8.11
|
|
53
61
|
|
|
54
|
-
* Fix FK index check support multiple PK ([pull#315](https://github.com/
|
|
55
|
-
* Support t.reference() foreign_key option ([pull#316](https://github.com/
|
|
62
|
+
* Fix FK index check support multiple PK ([pull#315](https://github.com/ridgepole/ridgepole/pull/315))
|
|
63
|
+
* Support t.reference() foreign_key option ([pull#316](https://github.com/ridgepole/ridgepole/pull/316))
|
|
56
64
|
|
|
57
65
|
### 0.8.10
|
|
58
66
|
|
|
59
|
-
* Raise an error if an InnoDB column has a foreign key but no index ([pull#310](https://github.com/
|
|
67
|
+
* Raise an error if an InnoDB column has a foreign key but no index ([pull#310](https://github.com/ridgepole/ridgepole/pull/310))
|
|
60
68
|
|
|
61
69
|
### 0.8.9
|
|
62
70
|
|
|
63
|
-
* Fix unexpected differences on text types and blob types on Rails 6 ([pull#306](https://github.com/
|
|
64
|
-
* Fix unexpected warning when a foreign key is added on the primary key ([pull#307](https://github.com/
|
|
71
|
+
* Fix unexpected differences on text types and blob types on Rails 6 ([pull#306](https://github.com/ridgepole/ridgepole/pull/306))
|
|
72
|
+
* Fix unexpected warning when a foreign key is added on the primary key ([pull#307](https://github.com/ridgepole/ridgepole/pull/307))
|
|
65
73
|
|
|
66
74
|
### 0.8.8
|
|
67
75
|
|
|
68
|
-
* Fix keyword arguments warnings in Ruby 2.7 ([pull#303](https://github.com/
|
|
76
|
+
* Fix keyword arguments warnings in Ruby 2.7 ([pull#303](https://github.com/ridgepole/ridgepole/pull/303))
|
|
69
77
|
|
|
70
78
|
### 0.8.7
|
|
71
79
|
|
|
72
|
-
* Support `require_relative` ([pull#298](https://github.com/
|
|
80
|
+
* Support `require_relative` ([pull#298](https://github.com/ridgepole/ridgepole/pull/298))
|
|
73
81
|
|
|
74
82
|
### 0.8.6
|
|
75
83
|
|
|
76
|
-
* Support multiple databases feature ([pull#297](https://github.com/
|
|
84
|
+
* Support multiple databases feature ([pull#297](https://github.com/ridgepole/ridgepole/pull/297))
|
|
77
85
|
|
|
78
86
|
### 0.8.5
|
|
79
87
|
|
|
80
|
-
* Improve warning message on table options ([pull#291](https://github.com/
|
|
88
|
+
* Improve warning message on table options ([pull#291](https://github.com/ridgepole/ridgepole/pull/291))
|
|
81
89
|
|
|
82
90
|
### 0.8.4
|
|
83
91
|
|
|
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/
|
|
92
|
+
* 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))
|
|
85
93
|
|
|
86
94
|
### 0.8.3
|
|
87
95
|
|
|
88
|
-
* Fix "topological sort failed" error ([pull#287](https://github.com/
|
|
96
|
+
* Fix "topological sort failed" error ([pull#287](https://github.com/ridgepole/ridgepole/pull/287))
|
|
89
97
|
|
|
90
98
|
### 0.8.2
|
|
91
99
|
|
|
92
|
-
* Support `postgres://` schema ([pull#285](https://github.com/
|
|
100
|
+
* Support `postgres://` schema ([pull#285](https://github.com/ridgepole/ridgepole/pull/285))
|
|
93
101
|
|
|
94
102
|
### 0.8.1
|
|
95
103
|
|
|
96
|
-
* Drop tables in an order considering foreign key constraints ([pull#284](https://github.com/
|
|
104
|
+
* Drop tables in an order considering foreign key constraints ([pull#284](https://github.com/ridgepole/ridgepole/pull/284))
|
|
97
105
|
|
|
98
106
|
### 0.8.0
|
|
99
107
|
|
|
@@ -103,32 +111,32 @@
|
|
|
103
111
|
|
|
104
112
|
### 0.7.8
|
|
105
113
|
|
|
106
|
-
* Fix for `add_foreign_key(..., column: ,,,)` ([pull#278](https://github.com/
|
|
114
|
+
* Fix for `add_foreign_key(..., column: ,,,)` ([pull#278](https://github.com/ridgepole/ridgepole/pull/278))
|
|
107
115
|
|
|
108
116
|
### 0.7.7
|
|
109
117
|
|
|
110
|
-
* Support URI query string ([pull#273](https://github.com/
|
|
118
|
+
* Support URI query string ([pull#273](https://github.com/ridgepole/ridgepole/pull/273))
|
|
111
119
|
|
|
112
120
|
### 0.7.6
|
|
113
121
|
|
|
114
|
-
* Fix database url check ([pull#266](https://github.com/
|
|
115
|
-
* Add ignore option ([pull#267](https://github.com/
|
|
122
|
+
* Fix database url check ([pull#266](https://github.com/ridgepole/ridgepole/pull/266))
|
|
123
|
+
* Add ignore option ([pull#267](https://github.com/ridgepole/ridgepole/pull/267))
|
|
116
124
|
|
|
117
125
|
### 0.7.5
|
|
118
126
|
|
|
119
|
-
* Fix polymorphic options ([pull#263](https://github.com/
|
|
120
|
-
* Fix `--mysql-use-alter` option ([pull#246](https://github.com/
|
|
121
|
-
* Fix Database URI parsing ([pull#265](https://github.com/
|
|
127
|
+
* Fix polymorphic options ([pull#263](https://github.com/ridgepole/ridgepole/pull/263))
|
|
128
|
+
* Fix `--mysql-use-alter` option ([pull#246](https://github.com/ridgepole/ridgepole/pull/264))
|
|
129
|
+
* Fix Database URI parsing ([pull#265](https://github.com/ridgepole/ridgepole/pull/265))
|
|
122
130
|
|
|
123
131
|
### 0.7.4
|
|
124
132
|
|
|
125
|
-
* Fix `add_foreign_key` options ([issue#250](https://github.com/
|
|
133
|
+
* Fix `add_foreign_key` options ([issue#250](https://github.com/ridgepole/ridgepole/issues/250))
|
|
126
134
|
|
|
127
135
|
### 0.7.3
|
|
128
136
|
|
|
129
|
-
* Add `--mysql-change-table-comment option` ([pull#166](https://github.com/
|
|
137
|
+
* Add `--mysql-change-table-comment option` ([pull#166](https://github.com/ridgepole/ridgepole/pull/166))
|
|
130
138
|
* Refactoring with RuboCop
|
|
131
|
-
* Support primary key adding/dropping ([issue#246](https://github.com/
|
|
139
|
+
* Support primary key adding/dropping ([issue#246](https://github.com/ridgepole/ridgepole/issues/246))
|
|
132
140
|
|
|
133
141
|
### 0.7.2
|
|
134
142
|
|
|
@@ -161,33 +169,33 @@
|
|
|
161
169
|
|
|
162
170
|
### 0.6.6
|
|
163
171
|
|
|
164
|
-
* Use `t.column` for migration ([pull#114](https://github.com/
|
|
165
|
-
* Support DATABASE_URL format ([pull#118](https://github.com/
|
|
166
|
-
* Add Ruby2.4 CI ([pull#119](https://github.com/
|
|
172
|
+
* Use `t.column` for migration ([pull#114](https://github.com/ridgepole/ridgepole/pull/114))
|
|
173
|
+
* Support DATABASE_URL format ([pull#118](https://github.com/ridgepole/ridgepole/pull/118))
|
|
174
|
+
* Add Ruby2.4 CI ([pull#119](https://github.com/ridgepole/ridgepole/pull/119))
|
|
167
175
|
|
|
168
176
|
### 0.6.5
|
|
169
177
|
|
|
170
178
|
* Fix rails version `'>= 4.2', '< 6'`
|
|
171
|
-
* Support new types ([pull#84](https://github.com/
|
|
172
|
-
* Support `default: -> { ... }` ([pull#85](https://github.com/
|
|
179
|
+
* Support new types ([pull#84](https://github.com/ridgepole/ridgepole/pull/84))
|
|
180
|
+
* Support `default: -> { ... }` ([pull#85](https://github.com/ridgepole/ridgepole/pull/85))
|
|
173
181
|
* Support DDL Comment (Rails5 only)
|
|
174
182
|
* Output schema diff when pass `--verbose`
|
|
175
|
-
* Support composite primary key (Rails5 only / [pull#97](https://github.com/
|
|
183
|
+
* Support composite primary key (Rails5 only / [pull#97](https://github.com/ridgepole/ridgepole/pull/97))
|
|
176
184
|
|
|
177
185
|
### 0.6.4
|
|
178
186
|
|
|
179
|
-
* Execute sql using external script ([pull#56](https://github.com/
|
|
187
|
+
* Execute sql using external script ([pull#56](https://github.com/ridgepole/ridgepole/pull/56))
|
|
180
188
|
* Add `--mysql-use-alter` option
|
|
181
189
|
* Add `--alter-extra` option
|
|
182
190
|
* Add `--dump-with-default-fk-name` option
|
|
183
|
-
* Support `t.index` ([pull#64](https://github.com/
|
|
191
|
+
* Support `t.index` ([pull#64](https://github.com/ridgepole/ridgepole/pull/64))
|
|
184
192
|
* Remove migration_comments
|
|
185
193
|
* Fix foreign key apply order
|
|
186
194
|
|
|
187
195
|
### 0.6.3
|
|
188
196
|
|
|
189
|
-
* Fix `default` option ([pull#48](https://github.com/
|
|
190
|
-
* Add `--enable-migration-comments` option ([pull#50](https://github.com/
|
|
197
|
+
* Fix `default` option ([pull#48](https://github.com/ridgepole/ridgepole/pull/48))
|
|
198
|
+
* Add `--enable-migration-comments` option ([pull#50](https://github.com/ridgepole/ridgepole/pull/50))
|
|
191
199
|
* Disable `rename_table_indexes`
|
|
192
200
|
|
|
193
201
|
### 0.6.1
|
data/README.md
CHANGED
|
@@ -6,14 +6,14 @@ 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
|
-
[](https://github.com/ridgepole/ridgepole/actions)
|
|
10
|
+
[](https://coveralls.io/github/ridgepole/ridgepole?branch=1.0)
|
|
11
11
|
|
|
12
12
|
**Notice**
|
|
13
13
|
|
|
14
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
15
|
* **If you use ActiveRecord 6.1, please modify Schemafile format**.
|
|
16
|
-
* cf. https://github.com/
|
|
16
|
+
* cf. https://github.com/ridgepole/ridgepole/pull/323
|
|
17
17
|
* `DROP TABLE` is skipped by default in v1.0 and later versions.
|
|
18
18
|
* If you want to `DROP TABLE`, please pass `--drop-table`.
|
|
19
19
|
* cf. https://github.com/ridgepole/ridgepole/pull/363
|
|
@@ -303,16 +303,17 @@ Apply `Schemafile`
|
|
|
303
303
|
|
|
304
304
|
## Run tests
|
|
305
305
|
|
|
306
|
+
|
|
306
307
|
```sh
|
|
307
308
|
docker-compose up -d
|
|
308
309
|
bundle install
|
|
309
310
|
bundle exec appraisal install
|
|
310
|
-
bundle exec appraisal activerecord-
|
|
311
|
-
# POSTGRESQL=1 bundle exec appraisal activerecord-
|
|
312
|
-
# MYSQL57=1 bundle exec appraisal activerecord-
|
|
311
|
+
bundle exec appraisal activerecord-7.0 rake
|
|
312
|
+
# POSTGRESQL=1 bundle exec appraisal activerecord-7.0 rake
|
|
313
|
+
# MYSQL57=1 bundle exec appraisal activerecord-7.0 rake
|
|
313
314
|
```
|
|
314
315
|
|
|
315
|
-
**Notice:** mysql-client/postgresql-client is required.
|
|
316
|
+
**Notice:** Ruby 2.6 or above/mysql-client/postgresql-client is required.
|
|
316
317
|
|
|
317
318
|
## Demo
|
|
318
319
|
|
|
@@ -321,6 +322,6 @@ bundle exec appraisal activerecord-5.1 rake
|
|
|
321
322
|
|
|
322
323
|
## Example project
|
|
323
324
|
|
|
324
|
-
* https://github.com/
|
|
325
|
-
* https://github.com/
|
|
326
|
-
* https://github.com/
|
|
325
|
+
* https://github.com/ridgepole/ridgepole-example
|
|
326
|
+
* https://github.com/ridgepole/ridgepole-example/pull/1
|
|
327
|
+
* https://github.com/ridgepole/ridgepole-example/pull/2
|
data/bin/ridgepole
CHANGED
|
@@ -74,106 +74,104 @@ def noop_migrate(delta, options)
|
|
|
74
74
|
end
|
|
75
75
|
|
|
76
76
|
ARGV.options do |opt|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
77
|
+
opt.on('-c', '--config CONF_OR_FILE') { |v| config = v }
|
|
78
|
+
opt.on('-E', '--env ENVIRONMENT') { |v| env = v }
|
|
79
|
+
opt.on('-s', '--spec-name SPEC_NAME') { |v| spec_name = v }
|
|
80
|
+
opt.on('-a', '--apply') { set_mode[:apply] }
|
|
81
|
+
opt.on('-m', '--merge') do
|
|
82
|
+
set_mode[:apply]
|
|
83
|
+
options[:merge] = true
|
|
84
|
+
end
|
|
85
|
+
opt.on('-f', '--file SCHEMAFILE') { |v| file = v }
|
|
86
|
+
opt.on('', '--dry-run') { options[:dry_run] = true }
|
|
87
|
+
opt.on('', '--table-options OPTIONS') { |v| options[:table_options] = v }
|
|
88
|
+
opt.on('', '--table-hash-options OPTIONS') do |v|
|
|
89
|
+
# NOTE: Ruby2.4 doesn't support `symbolize_names: true`
|
|
90
|
+
hash = YAML.safe_load(v).deep_symbolize_keys
|
|
91
|
+
|
|
92
|
+
case hash[:id]
|
|
93
|
+
when String
|
|
94
|
+
hash[:id] = hash[:id].to_sym
|
|
95
|
+
when Hash
|
|
96
|
+
hash[:id][:type] = hash[:id][:type].to_sym if hash[:id][:type]
|
|
85
97
|
end
|
|
86
|
-
opt.on('-f', '--file SCHEMAFILE') { |v| file = v }
|
|
87
|
-
opt.on('', '--dry-run') { options[:dry_run] = true }
|
|
88
|
-
opt.on('', '--table-options OPTIONS') { |v| options[:table_options] = v }
|
|
89
|
-
opt.on('', '--table-hash-options OPTIONS') do |v|
|
|
90
|
-
# NOTE: Ruby2.4 doesn't support `symbolize_names: true`
|
|
91
|
-
hash = YAML.safe_load(v).deep_symbolize_keys
|
|
92
|
-
|
|
93
|
-
case hash[:id]
|
|
94
|
-
when String
|
|
95
|
-
hash[:id] = hash[:id].to_sym
|
|
96
|
-
when Hash
|
|
97
|
-
hash[:id][:type] = hash[:id][:type].to_sym if hash[:id][:type]
|
|
98
|
-
end
|
|
99
98
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
99
|
+
options[:table_hash_options] = hash
|
|
100
|
+
end
|
|
101
|
+
opt.on('', '--alter-extra ALTER_SPEC') { |v| options[:alter_extra] = v }
|
|
102
|
+
opt.on('', '--external-script SCRIPT') { |v| options[:external_script] = v }
|
|
103
|
+
opt.on('', '--bulk-change') do
|
|
104
|
+
raise OptionParser::InvalidOption, 'Cannot use `bulk-change` in `merge`' if options[:merge]
|
|
106
105
|
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
options[:bulk_change] = true
|
|
107
|
+
end
|
|
109
108
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
end
|
|
109
|
+
COLUMN_TYPES.each do |column_type, column_type_alias|
|
|
110
|
+
opt.on('', "--default-#{column_type_alias}-limit LIMIT", Integer) do |v|
|
|
111
|
+
options[:"default_#{column_type}_limit"] = v
|
|
114
112
|
end
|
|
113
|
+
end
|
|
115
114
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
if [diff_arg1, diff_arg2].any? { |i| i.nil? || i.start_with?('-') }
|
|
126
|
-
puts opt.help
|
|
127
|
-
exit 1
|
|
128
|
-
end
|
|
115
|
+
opt.on('', '--pre-query QUERY') { |v| options[:pre_query] = v }
|
|
116
|
+
opt.on('', '--post-query QUERY') { |v| options[:post_query] = v }
|
|
117
|
+
opt.on('-e', '--export') { set_mode[:export] }
|
|
118
|
+
opt.on('', '--split') { split = true }
|
|
119
|
+
opt.on('', '--split-with-dir') { split = :with_dir }
|
|
120
|
+
opt.on('-d', '--diff DSL1 DSL2') do |diff_arg1|
|
|
121
|
+
set_mode[:diff]
|
|
122
|
+
diff_arg2 = ARGV.first
|
|
129
123
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
opt.on('', '--with-apply') { diff_with_apply = true }
|
|
134
|
-
opt.on('-o', '--output SCHEMAFILE') { |v| output_file = v }
|
|
135
|
-
opt.on('-t', '--tables TABLES', Array) { |v| options[:tables] = v }
|
|
136
|
-
opt.on('', '--ignore-tables REGEX_LIST', Array) { |v| options[:ignore_tables] = v.map { |i| Regexp.new(i) } }
|
|
137
|
-
opt.on('', '--dump-without-table-options') { options[:dump_without_table_options] = true }
|
|
138
|
-
opt.on('', '--dump-with-default-fk-name') { options[:dump_with_default_fk_name] = true }
|
|
139
|
-
opt.on('', '--index-removed-drop-column') { options[:index_removed_drop_column] = true }
|
|
140
|
-
opt.on('', '--drop-table') { options[:force_drop_table] = true }
|
|
141
|
-
opt.on('', '--mysql-change-table-options') { options[:mysql_change_table_options] = true }
|
|
142
|
-
opt.on('', '--mysql-change-table-comment') { options[:mysql_change_table_comment] = true }
|
|
143
|
-
opt.on('', '--check-relation-type DEF_PK') { |v| options[:check_relation_type] = v }
|
|
144
|
-
opt.on('', '--ignore-table-comment') { options[:ignore_table_comment] = true }
|
|
145
|
-
opt.on('', '--skip-column-comment-change') { options[:skip_column_comment_change] = true }
|
|
146
|
-
opt.on('', '--allow-pk-change') { options[:allow_pk_change] = true }
|
|
147
|
-
opt.on('', '--create-table-with-index') { options[:create_table_with_index] = true }
|
|
148
|
-
|
|
149
|
-
opt.on('', '--mysql-dump-auto-increment') do
|
|
150
|
-
options[:mysql_dump_auto_increment] = true
|
|
124
|
+
if [diff_arg1, diff_arg2].any? { |i| i.nil? || i.start_with?('-') }
|
|
125
|
+
puts opt.help
|
|
126
|
+
exit 1
|
|
151
127
|
end
|
|
152
128
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
129
|
+
ARGV.shift
|
|
130
|
+
diff_files = [diff_arg1, diff_arg2]
|
|
131
|
+
end
|
|
132
|
+
opt.on('', '--with-apply') { diff_with_apply = true }
|
|
133
|
+
opt.on('-o', '--output SCHEMAFILE') { |v| output_file = v }
|
|
134
|
+
opt.on('-t', '--tables TABLES', Array) { |v| options[:tables] = v }
|
|
135
|
+
opt.on('', '--ignore-tables REGEX_LIST', Array) { |v| options[:ignore_tables] = v.map { |i| Regexp.new(i) } }
|
|
136
|
+
opt.on('', '--dump-without-table-options') { options[:dump_without_table_options] = true }
|
|
137
|
+
opt.on('', '--dump-with-default-fk-name') { options[:dump_with_default_fk_name] = true }
|
|
138
|
+
opt.on('', '--index-removed-drop-column') { options[:index_removed_drop_column] = true }
|
|
139
|
+
opt.on('', '--drop-table') { options[:force_drop_table] = true }
|
|
140
|
+
opt.on('', '--mysql-change-table-options') { options[:mysql_change_table_options] = true }
|
|
141
|
+
opt.on('', '--mysql-change-table-comment') { options[:mysql_change_table_comment] = true }
|
|
142
|
+
opt.on('', '--check-relation-type DEF_PK') { |v| options[:check_relation_type] = v }
|
|
143
|
+
opt.on('', '--ignore-table-comment') { options[:ignore_table_comment] = true }
|
|
144
|
+
opt.on('', '--skip-column-comment-change') { options[:skip_column_comment_change] = true }
|
|
145
|
+
opt.on('', '--allow-pk-change') { options[:allow_pk_change] = true }
|
|
146
|
+
opt.on('', '--create-table-with-index') { options[:create_table_with_index] = true }
|
|
147
|
+
|
|
148
|
+
opt.on('', '--mysql-dump-auto-increment') do
|
|
149
|
+
options[:mysql_dump_auto_increment] = true
|
|
150
|
+
end
|
|
163
151
|
|
|
164
|
-
|
|
152
|
+
opt.on('-r', '--require LIBS', Array) { |v| v.each { |i| require i } }
|
|
153
|
+
opt.on('', '--log-file LOG_FILE') { |v| options[:log_file] = v }
|
|
154
|
+
opt.on('', '--verbose') { Ridgepole::Logger.verbose = true }
|
|
155
|
+
opt.on('', '--debug') { options[:debug] = true }
|
|
156
|
+
opt.on('', '--[no-]color') { |v| options[:color] = v }
|
|
165
157
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
rescue StandardError => e
|
|
171
|
-
warn("[ERROR] #{e.message}")
|
|
158
|
+
opt.on('-v', '--version') do
|
|
159
|
+
puts opt.ver
|
|
160
|
+
exit
|
|
161
|
+
end
|
|
172
162
|
|
|
173
|
-
|
|
163
|
+
opt.parse!
|
|
174
164
|
|
|
165
|
+
if !mode || (%i[apply export].include?(mode) && !config) || (options[:with_apply] && !config)
|
|
166
|
+
puts opt.help
|
|
175
167
|
exit 1
|
|
176
168
|
end
|
|
169
|
+
rescue StandardError => e
|
|
170
|
+
warn("[ERROR] #{e.message}")
|
|
171
|
+
|
|
172
|
+
puts "\t" + e.backtrace.join("\n\t") unless e.is_a?(OptionParser::ParseError)
|
|
173
|
+
|
|
174
|
+
exit 1
|
|
177
175
|
end
|
|
178
176
|
|
|
179
177
|
begin
|
|
@@ -25,20 +25,18 @@ module Ridgepole
|
|
|
25
25
|
readable = ready[0]
|
|
26
26
|
|
|
27
27
|
readable.each do |f|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
@logger.info("#{script_basename}: #{data}")
|
|
38
|
-
end
|
|
39
|
-
rescue EOFError
|
|
40
|
-
files.delete f
|
|
28
|
+
data = f.read_nonblock(1024)
|
|
29
|
+
next if data.nil?
|
|
30
|
+
|
|
31
|
+
data.chomp!
|
|
32
|
+
|
|
33
|
+
if f == stderr
|
|
34
|
+
@logger.warn("[WARNING] #{script_basename}: #{data}")
|
|
35
|
+
else
|
|
36
|
+
@logger.info("#{script_basename}: #{data}")
|
|
41
37
|
end
|
|
38
|
+
rescue EOFError
|
|
39
|
+
files.delete f
|
|
42
40
|
end
|
|
43
41
|
end
|
|
44
42
|
rescue EOFError
|
data/lib/ridgepole/version.rb
CHANGED
data/ridgepole.gemspec
CHANGED
|
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
|
|
|
29
29
|
|
|
30
30
|
spec.add_development_dependency 'appraisal', '>= 2.2.0'
|
|
31
31
|
spec.add_development_dependency 'bundler'
|
|
32
|
-
spec.add_development_dependency 'erbh', '>= 0.1
|
|
32
|
+
spec.add_development_dependency 'erbh', '>= 0.2.1'
|
|
33
33
|
spec.add_development_dependency 'hash_modern_inspect', '>= 0.1.1'
|
|
34
34
|
spec.add_development_dependency 'hash_order_helper', '>= 0.1.6'
|
|
35
35
|
spec.add_development_dependency 'mysql2'
|
|
@@ -38,9 +38,10 @@ Gem::Specification.new do |spec|
|
|
|
38
38
|
spec.add_development_dependency 'rspec', '>= 3.0.0'
|
|
39
39
|
spec.add_development_dependency 'rspec-match_fuzzy', '>= 0.1.3'
|
|
40
40
|
spec.add_development_dependency 'rspec-match_ruby', '>= 0.1.3'
|
|
41
|
-
spec.add_development_dependency 'rubocop', '1.
|
|
41
|
+
spec.add_development_dependency 'rubocop', '1.24.1'
|
|
42
42
|
spec.add_development_dependency 'rubocop-rake', '>= 0.5.1'
|
|
43
43
|
spec.add_development_dependency 'rubocop-rspec', '>= 2.1.0'
|
|
44
44
|
spec.add_development_dependency 'simplecov'
|
|
45
45
|
spec.add_development_dependency 'simplecov-lcov'
|
|
46
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
|
46
47
|
end
|
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: 1.0.
|
|
4
|
+
version: 1.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Genki Sugawara
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-01-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activerecord
|
|
@@ -78,14 +78,14 @@ dependencies:
|
|
|
78
78
|
requirements:
|
|
79
79
|
- - ">="
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: 0.1
|
|
81
|
+
version: 0.2.1
|
|
82
82
|
type: :development
|
|
83
83
|
prerelease: false
|
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
85
85
|
requirements:
|
|
86
86
|
- - ">="
|
|
87
87
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: 0.1
|
|
88
|
+
version: 0.2.1
|
|
89
89
|
- !ruby/object:Gem::Dependency
|
|
90
90
|
name: hash_modern_inspect
|
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -204,14 +204,14 @@ dependencies:
|
|
|
204
204
|
requirements:
|
|
205
205
|
- - '='
|
|
206
206
|
- !ruby/object:Gem::Version
|
|
207
|
-
version: 1.
|
|
207
|
+
version: 1.24.1
|
|
208
208
|
type: :development
|
|
209
209
|
prerelease: false
|
|
210
210
|
version_requirements: !ruby/object:Gem::Requirement
|
|
211
211
|
requirements:
|
|
212
212
|
- - '='
|
|
213
213
|
- !ruby/object:Gem::Version
|
|
214
|
-
version: 1.
|
|
214
|
+
version: 1.24.1
|
|
215
215
|
- !ruby/object:Gem::Dependency
|
|
216
216
|
name: rubocop-rake
|
|
217
217
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -319,7 +319,8 @@ files:
|
|
|
319
319
|
homepage: https://github.com/ridgepole/ridgepole
|
|
320
320
|
licenses:
|
|
321
321
|
- MIT
|
|
322
|
-
metadata:
|
|
322
|
+
metadata:
|
|
323
|
+
rubygems_mfa_required: 'true'
|
|
323
324
|
post_install_message:
|
|
324
325
|
rdoc_options: []
|
|
325
326
|
require_paths:
|