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 +4 -4
- data/README.md +1 -1
- data/lib/ridgepole/dsl_parser/context.rb +3 -1
- data/lib/ridgepole/version.rb +1 -1
- data/spec/mysql/migrate/migrate_change_index8_spec.rb +83 -0
- metadata +3 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 49d810a267218a0eb0e29b24172b263bb01160de
         | 
| 4 | 
            +
              data.tar.gz: 103967b434908d08b210e156107f5833fc45a567
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 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 | 
             
            [](https://travis-ci.org/winebarrel/ridgepole)
         | 
| 10 10 | 
             
            [](https://coveralls.io/github/winebarrel/ridgepole?branch=0.6)
         | 
| 11 11 |  | 
| 12 | 
            -
            [](https://rubygems.org/gems/ridgepole/versions/0.7.0.beta12)
         | 
| 13 13 | 
             
            [](https://travis-ci.org/winebarrel/ridgepole)
         | 
| 14 14 | 
             
            [](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 | 
            -
             | 
| 69 | 
            +
                  if options[:length]
         | 
| 70 | 
            +
                    options[:length] = options[:length].compact.symbolize_keys
         | 
| 69 71 | 
             
                  end
         | 
| 70 72 |  | 
| 71 73 | 
             
                  @__definition[table_name][:indices][idx] = {
         | 
    
        data/lib/ridgepole/version.rb
    CHANGED
    
    
| @@ -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. | 
| 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
         |