Sha256: fb5473d9eca293a0e75d65167ac01e15771d8fc0c7fd4266f0e741d16a5256a0

Contents?: true

Size: 1.47 KB

Versions: 17

Compression:

Stored size: 1.47 KB

Contents

# frozen_string_literal: true

describe 'Ridgepole::Client#diff -> migrate' do
  context 'when change fk' do
    let(:actual_dsl) do
      erbh(<<-ERB)
        create_table "users", id: false, force: :cascade do |t|
          t.bigint :my_original_id, null: false
          t.index %i[my_original_id], unique: true
        end

        create_table "lessons", force: :cascade do |t|
          t.bigint :user_id2, null: false
          t.index %i[user_id2], name: :index_lessons_on_user_id2
        end

        add_foreign_key :lessons, :users, primary_key: :my_original_id, column: :user_id2
      ERB
    end

    let(:expected_dsl) do
      erbh(<<-ERB)
        create_table "lessons", force: :cascade do |t|
          t.bigint "user_id2", null: false
          t.index ["user_id2"], name: "index_lessons_on_user_id2", <%= i cond(5.0, using: :btree) %>
        end

        create_table "users", id: false, force: :cascade do |t|
          t.bigint "my_original_id", null: false
          t.index ["my_original_id"], name: "index_users_on_my_original_id", unique: true, <%= i cond(5.0, using: :btree) %>
        end

        add_foreign_key "lessons", "users", primary_key: "my_original_id", column: "user_id2"
      ERB
    end

    before { subject.diff(actual_dsl).migrate }

    subject { client }

    it {
      expect(subject.diff(actual_dsl).differ?).to be_falsey
      expect(subject.diff(expected_dsl).differ?).to be_falsey
      expect(subject.dump).to match_ruby expected_dsl
    }
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
ridgepole-0.8.13 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.9.0.beta spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.8.12 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.8.11 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.8.10 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.8.9 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.8.8 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.8.7 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.8.6 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.8.5 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.8.4 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.8.3 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.8.2 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.8.1 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.8.0 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.8.0.rc2 spec/mysql/fk/migrate_change_fk2_spec.rb
ridgepole-0.7.8 spec/mysql/fk/migrate_change_fk2_spec.rb