ridgepole 0.7.0.beta11 → 0.7.0.beta12

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
  SHA1:
3
- metadata.gz: ecc5673186f25067b337cfc75180d44b82bba7ce
4
- data.tar.gz: 1601ea4b2ab780f97048bdc82b1896cffa3395fe
3
+ metadata.gz: 49d810a267218a0eb0e29b24172b263bb01160de
4
+ data.tar.gz: 103967b434908d08b210e156107f5833fc45a567
5
5
  SHA512:
6
- metadata.gz: ba82871050164aca91fbcc7346a1d892bbc02de322f850ff70c6dd5ab41366b6a6bb1ffa609c7ad74f30be35ba839ccb0720d95bf2551721070d9a57e1514b37
7
- data.tar.gz: a7e2278fd069aa686a2a9a652234d3ae069e23a4b46b822272b1310bcfadc4560f99e8e35984fb0e5aebd32bd35555f1d7fe916deeb913ce4d6d6da5ca3d45e8
6
+ metadata.gz: 80869484e860c7e14bd0757b09b72a6694cfa8dfadc883127f7f61c32e198954e16c00deb2ff63568c0fa04525b5604d9eb65c111a54654d035d1c534e7afab9
7
+ data.tar.gz: dd88225d51a88f149f8de5b913fa7198d5c97ff707e91062b7eb21a61be4e53d5f09b336adaef5f080ea98b9257b1a427bc83738760c1c5ffe321929e4108957
data/README.md CHANGED
@@ -9,7 +9,7 @@ It defines DB schema using [Rails DSL](http://guides.rubyonrails.org/migrations.
9
9
  [![Build Status](https://travis-ci.org/winebarrel/ridgepole.svg?branch=0.6)](https://travis-ci.org/winebarrel/ridgepole)
10
10
  [![Coverage Status](https://coveralls.io/repos/github/winebarrel/ridgepole/badge.svg?branch=0.6)](https://coveralls.io/github/winebarrel/ridgepole?branch=0.6)
11
11
 
12
- [![Edge Version](https://img.shields.io/badge/edge_version-0.7.0.beta11-brightgreen.svg)](https://rubygems.org/gems/ridgepole/versions/0.7.0.beta11)
12
+ [![Edge Version](https://img.shields.io/badge/edge_version-0.7.0.beta12-brightgreen.svg)](https://rubygems.org/gems/ridgepole/versions/0.7.0.beta12)
13
13
  [![Build Status](https://travis-ci.org/winebarrel/ridgepole.svg?branch=0.7)](https://travis-ci.org/winebarrel/ridgepole)
14
14
  [![Coverage Status](https://coveralls.io/repos/github/winebarrel/ridgepole/badge.svg?branch=0.7)](https://coveralls.io/github/winebarrel/ridgepole?branch=0.7)
15
15
 
@@ -64,8 +64,10 @@ class Ridgepole::DSLParser
64
64
  column_name.each do |col|
65
65
  options[:length][col] = index_length
66
66
  end
67
+ end
67
68
 
68
- options[:length] = options[:length].symbolize_keys
69
+ if options[:length]
70
+ options[:length] = options[:length].compact.symbolize_keys
69
71
  end
70
72
 
71
73
  @__definition[table_name][:indices][idx] = {
@@ -1,3 +1,3 @@
1
1
  module Ridgepole
2
- VERSION = '0.7.0.beta11'
2
+ VERSION = '0.7.0.beta12'
3
3
  end
@@ -0,0 +1,83 @@
1
+ describe 'Ridgepole::Client#diff -> migrate' do
2
+ context 'when change index (length has string keys) / No update' do
3
+ let(:actual_dsl) {
4
+ erbh(<<-EOS)
5
+ create_table "employees", primary_key: "emp_no", force: :cascade do |t|
6
+ t.date "birth_date", null: false
7
+ t.string "first_name", limit: 14, null: false
8
+ t.string "last_name", limit: 16, null: false
9
+ t.string "gender", limit: 1, null: false
10
+ t.date "hire_date", null: false
11
+ t.index ["first_name", "last_name"], name: "idx_first_name_last_name", length: { first_name: 10, last_name: 10 }, <%= i cond(5.0, using: :btree) %>
12
+ end
13
+ EOS
14
+ }
15
+
16
+ let(:expected_dsl) {
17
+ erbh(<<-EOS)
18
+ create_table "employees", primary_key: "emp_no", force: :cascade do |t|
19
+ t.date "birth_date", null: false
20
+ t.string "first_name", limit: 14, null: false
21
+ t.string "last_name", limit: 16, null: false
22
+ t.string "gender", limit: 1, null: false
23
+ t.date "hire_date", null: false
24
+ t.index ["first_name", "last_name"], name: "idx_first_name_last_name", length: { "first_name" => 10, "last_name" => 10, "foo" => nil }, <%= i cond(5.0, using: :btree) %>
25
+ end
26
+ EOS
27
+ }
28
+
29
+ before { subject.diff(actual_dsl).migrate }
30
+ subject { client }
31
+
32
+ it {
33
+ delta = subject.diff(expected_dsl)
34
+ expect(delta.differ?).to be_falsy
35
+ expect(subject.dump).to match_fuzzy actual_dsl
36
+ }
37
+ end
38
+
39
+ context 'when change index (length has string keys) / Update' do
40
+ let(:actual_dsl) {
41
+ <<-EOS
42
+ create_table "employees", primary_key: "emp_no", force: :cascade do |t|
43
+ t.date "birth_date", null: false
44
+ t.string "first_name", limit: 14, null: false
45
+ t.string "last_name", limit: 16, null: false
46
+ t.string "gender", limit: 1, null: false
47
+ t.date "hire_date", null: false
48
+ end
49
+ EOS
50
+ }
51
+
52
+ let(:expected_dsl) {
53
+ erbh(<<-EOS)
54
+ create_table "employees", primary_key: "emp_no", force: :cascade do |t|
55
+ t.date "birth_date", null: false
56
+ t.string "first_name", limit: 14, null: false
57
+ t.string "last_name", limit: 16, null: false
58
+ t.string "gender", limit: 1, null: false
59
+ t.date "hire_date", null: false
60
+ t.index ["first_name", "last_name"], name: "idx_first_name_last_name", length: { "first_name" => 10, "last_name" => 10 }, <%= i cond(5.0, using: :btree) %>
61
+ end
62
+ EOS
63
+ }
64
+
65
+ let(:actual_dsl_plus_index) {
66
+ actual_dsl.sub(/\bend\b/, erbh(<<-EOS))
67
+ t.index ["first_name", "last_name"], name: "idx_first_name_last_name", length: { first_name: 10, last_name: 10 }, <%= i cond(5.0, using: :btree) %>
68
+ end
69
+ EOS
70
+ }
71
+
72
+ before { subject.diff(actual_dsl).migrate }
73
+ subject { client }
74
+
75
+ it {
76
+ delta = subject.diff(expected_dsl)
77
+ expect(delta.differ?).to be_truthy
78
+ expect(subject.dump).to match_fuzzy actual_dsl
79
+ delta.migrate
80
+ expect(subject.dump).to match_fuzzy actual_dsl_plus_index
81
+ }
82
+ end
83
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ridgepole
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0.beta11
4
+ version: 0.7.0.beta12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
@@ -282,6 +282,7 @@ files:
282
282
  - spec/mysql/migrate/migrate_change_index5_spec.rb
283
283
  - spec/mysql/migrate/migrate_change_index6_spec.rb
284
284
  - spec/mysql/migrate/migrate_change_index7_spec.rb
285
+ - spec/mysql/migrate/migrate_change_index8_spec.rb
285
286
  - spec/mysql/migrate/migrate_change_index_spec.rb
286
287
  - spec/mysql/migrate/migrate_change_table_option_spec.rb
287
288
  - spec/mysql/migrate/migrate_check_relation_column_type_spec.rb
@@ -426,6 +427,7 @@ test_files:
426
427
  - spec/mysql/migrate/migrate_change_index5_spec.rb
427
428
  - spec/mysql/migrate/migrate_change_index6_spec.rb
428
429
  - spec/mysql/migrate/migrate_change_index7_spec.rb
430
+ - spec/mysql/migrate/migrate_change_index8_spec.rb
429
431
  - spec/mysql/migrate/migrate_change_index_spec.rb
430
432
  - spec/mysql/migrate/migrate_change_table_option_spec.rb
431
433
  - spec/mysql/migrate/migrate_check_relation_column_type_spec.rb