ridgepole 0.4.10 → 0.4.11.beta
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/README.md +14 -0
- data/bin/ridgepole +1 -0
- data/lib/ridgepole/client.rb +4 -0
- data/lib/ridgepole/version.rb +1 -1
- data/ridgepole.gemspec +1 -0
- data/spec/cli/ridgepole_spec.rb +1 -0
- data/spec/~pkdump/pkdump_spec.rb +65 -0
- metadata +20 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0cab00f8047a1d75ecb40ecca4288723e3899937
|
4
|
+
data.tar.gz: 5e596040dd4eef322f92478eb1685a5758e5cd01
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bfd48592704cced4b14eccbcadb2d9ebd5b79b55e569fb3c348e8369925f6eb137336140b54af7acb5403efb75fbda58e37a3bc9699d31f9c1f9ecb58f6e2da6
|
7
|
+
data.tar.gz: 06afedd97e0da203b6a74781c268c82f9bce2611d19e21a40f280e4691e0f8e62252bd8336d6cacb14ed43cf1b94764917cfcc0302c31de059e4983e2e575654
|
data/README.md
CHANGED
@@ -14,6 +14,8 @@ It defines DB schema using [Rails DSL](http://guides.rubyonrails.org/migrations.
|
|
14
14
|
* `>= 0.4.8`
|
15
15
|
* `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.
|
16
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.
|
17
19
|
|
18
20
|
## Installation
|
19
21
|
|
@@ -53,6 +55,7 @@ Usage: ridgepole [options]
|
|
53
55
|
-t, --tables TABLES
|
54
56
|
--ignore-tables TABLES
|
55
57
|
--enable-mysql-unsigned
|
58
|
+
--enable-mysql-pkdump
|
56
59
|
--enable-foreigner
|
57
60
|
--log-file LOG_FILE
|
58
61
|
--verbose
|
@@ -153,6 +156,17 @@ add_index "child", ["parent_id"], name: "par_ind", using: :btree
|
|
153
156
|
add_foreign_key "child", "parent", name: "child_ibfk_1", dependent: :delete
|
154
157
|
```
|
155
158
|
|
159
|
+
## bigint support
|
160
|
+
Export of `bigint` PK is enabled by passing `--enable-mysql-pkdump` ([activerecord-mysql-pkdump](https://github.com/winebarrel/activerecord-mysql-pkdump) is required)
|
161
|
+
|
162
|
+
```ruby
|
163
|
+
create_table "books", id: "bigint(20) PRIMARY KEY auto_increment", force: true do |t|
|
164
|
+
t.string "title", null: false
|
165
|
+
t.integer "author_id", null: false
|
166
|
+
t.datetime "created_at"
|
167
|
+
t.datetime "updated_at"
|
168
|
+
end
|
169
|
+
```
|
156
170
|
|
157
171
|
## Execute
|
158
172
|
```ruby
|
data/bin/ridgepole
CHANGED
@@ -92,6 +92,7 @@ ARGV.options do |opt|
|
|
92
92
|
opt.on('-t', '--tables TABLES', Array) {|v| options[:tables] = v }
|
93
93
|
opt.on('', '--ignore-tables TABLES', Array) {|v| options[:ignore_tables] = v.map {|i| Regexp.new(i) } }
|
94
94
|
opt.on('', '--enable-mysql-unsigned') { options[:enable_mysql_unsigned] = true }
|
95
|
+
opt.on('', '--enable-mysql-pkdump') { options[:enable_mysql_pkdump] = true }
|
95
96
|
opt.on('', '--enable-foreigner') { options[:enable_foreigner] = true }
|
96
97
|
opt.on('' , '--log-file LOG_FILE') {|v| options[:log_file] = v }
|
97
98
|
opt.on('' , '--verbose') { Ridgepole::Logger.verbose = true }
|
data/lib/ridgepole/client.rb
CHANGED
data/lib/ridgepole/version.rb
CHANGED
data/ridgepole.gemspec
CHANGED
@@ -26,4 +26,5 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_development_dependency 'coveralls'
|
27
27
|
spec.add_development_dependency 'activerecord-mysql-unsigned', '>= 0.2.0'
|
28
28
|
spec.add_development_dependency 'foreigner'
|
29
|
+
spec.add_development_dependency 'activerecord-mysql-pkdump', '>= 0.1.0'
|
29
30
|
end
|
data/spec/cli/ridgepole_spec.rb
CHANGED
@@ -0,0 +1,65 @@
|
|
1
|
+
describe 'Ridgepole::Client (with pkdump)' do
|
2
|
+
let(:dsl) {
|
3
|
+
<<-RUBY
|
4
|
+
create_table "authors", id: "bigint(20) PRIMARY KEY auto_increment", force: true do |t|
|
5
|
+
t.string "name", null: false
|
6
|
+
t.datetime "created_at"
|
7
|
+
t.datetime "updated_at"
|
8
|
+
end
|
9
|
+
|
10
|
+
create_table "books", id: "bigint(20) PRIMARY KEY auto_increment", force: true do |t|
|
11
|
+
t.string "title", null: false
|
12
|
+
t.integer "author_id", null: false
|
13
|
+
t.datetime "created_at"
|
14
|
+
t.datetime "updated_at"
|
15
|
+
end
|
16
|
+
RUBY
|
17
|
+
}
|
18
|
+
|
19
|
+
context 'when dump with activerecord-mysql-pkdump' do
|
20
|
+
subject { client(enable_mysql_pkdump: true) }
|
21
|
+
|
22
|
+
before { subject.diff(dsl).migrate }
|
23
|
+
|
24
|
+
it {
|
25
|
+
expect(subject.dump).to eq dsl.strip_heredoc.strip
|
26
|
+
}
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'when create with activerecord-mysql-pkdump' do
|
30
|
+
subject { client(enable_foreigner: true) }
|
31
|
+
|
32
|
+
it {
|
33
|
+
delta = subject.diff(dsl)
|
34
|
+
expect(delta.differ?).to be_truthy
|
35
|
+
expect(subject.dump.delete_empty_lines).to eq ''
|
36
|
+
delta.migrate
|
37
|
+
expect(subject.dump.delete_empty_lines).to eq dsl.strip_heredoc.strip.delete_empty_lines
|
38
|
+
}
|
39
|
+
end
|
40
|
+
|
41
|
+
context 'update create with activerecord-mysql-pkdump' do
|
42
|
+
subject { client(enable_foreigner: true) }
|
43
|
+
|
44
|
+
before { subject.diff(dsl).migrate }
|
45
|
+
|
46
|
+
let(:dsl2) {
|
47
|
+
<<-RUBY
|
48
|
+
create_table "books", id: "bigint(20) PRIMARY KEY auto_increment", force: true do |t|
|
49
|
+
t.string "title2", null: false
|
50
|
+
t.integer "author_id", null: false
|
51
|
+
t.datetime "created_at"
|
52
|
+
t.datetime "updated_at"
|
53
|
+
end
|
54
|
+
RUBY
|
55
|
+
}
|
56
|
+
|
57
|
+
it {
|
58
|
+
delta = subject.diff(dsl2)
|
59
|
+
expect(delta.differ?).to be_truthy
|
60
|
+
expect(subject.dump.delete_empty_lines).to eq dsl.strip_heredoc.strip.delete_empty_lines
|
61
|
+
delta.migrate
|
62
|
+
expect(subject.dump.delete_empty_lines).to eq dsl2.strip_heredoc.strip.delete_empty_lines
|
63
|
+
}
|
64
|
+
end
|
65
|
+
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: 0.4.
|
4
|
+
version: 0.4.11.beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Genki Sugawara
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -122,6 +122,20 @@ dependencies:
|
|
122
122
|
- - '>='
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: activerecord-mysql-pkdump
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 0.1.0
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 0.1.0
|
125
139
|
description: Ridgepole is a tool to manage DB schema. It defines DB schema using Rails
|
126
140
|
DSL, and updates DB schema according to DSL.
|
127
141
|
email:
|
@@ -203,6 +217,7 @@ files:
|
|
203
217
|
- spec/ridgepole_test_tables.sql
|
204
218
|
- spec/spec_helper.rb
|
205
219
|
- spec/string_ext.rb
|
220
|
+
- spec/~pkdump/pkdump_spec.rb
|
206
221
|
homepage: https://github.com/winebarrel/ridgepole
|
207
222
|
licenses:
|
208
223
|
- MIT
|
@@ -218,9 +233,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
218
233
|
version: '0'
|
219
234
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
220
235
|
requirements:
|
221
|
-
- - '
|
236
|
+
- - '>'
|
222
237
|
- !ruby/object:Gem::Version
|
223
|
-
version:
|
238
|
+
version: 1.3.1
|
224
239
|
requirements: []
|
225
240
|
rubyforge_project:
|
226
241
|
rubygems_version: 2.0.14
|
@@ -278,3 +293,4 @@ test_files:
|
|
278
293
|
- spec/ridgepole_test_tables.sql
|
279
294
|
- spec/spec_helper.rb
|
280
295
|
- spec/string_ext.rb
|
296
|
+
- spec/~pkdump/pkdump_spec.rb
|