Sha256: e070bb03ff6d8891d629ef0ae125c6dc6b60fa675a87b2f20b726607a2380f62

Contents?: true

Size: 1.77 KB

Versions: 22

Compression:

Stored size: 1.77 KB

Contents

# frozen_string_literal: true
# This migration comes from spree (originally 20180710170104)

class CreateSpreeStoreCreditReasonsTable < ActiveRecord::Migration[5.1]
  class StoreCreditUpdateReason < ActiveRecord::Base
    self.table_name = "spree_store_credit_update_reasons"
  end

  class StoreCreditReason < ActiveRecord::Base
    self.table_name = "spree_store_credit_reasons"
  end

  def up
    create_table :spree_store_credit_reasons do |t|
      t.string :name
      t.boolean :active, default: true

      t.timestamps
    end

    StoreCreditUpdateReason.all.each do |update_reason|
      StoreCreditReason.create!(name: update_reason.name)
    end

    add_column :spree_store_credit_events, :store_credit_reason_id, :integer
    execute "update spree_store_credit_events set store_credit_reason_id = update_reason_id"

    # TODO: table spree_store_credit_update_reasons and column
    # column spree_store_credit_update_reasons.update_reason_id
    # must be dropped in a future Solidus release
  end

  def down
    # This table and column  may not exist anymore as another irreversible
    # migration may have removed it later. They must be added back or the
    # `up` method would fail
    unless table_exists? :spree_store_credit_update_reasons
      create_table :spree_store_credit_update_reasons do |t|
        t.string :name

        t.timestamps
      end

      unless column_exists? :spree_store_credit_events, :update_reason_id
        add_column :spree_store_credit_events, :update_reason_id, :integer
      end
    end

    StoreCreditReason.all.each do |store_credit_reason|
      StoreCreditUpdateReason.create!(name: store_credit_reason.name)
    end

    drop_table :spree_store_credit_reasons
    remove_column :spree_store_credit_events, :store_credit_reason_id
  end
end

Version data entries

22 entries across 22 versions & 8 rubygems

Version Path
solidus_i18n-2.2.0 spec/dummy/db/migrate/20210218213843_create_spree_store_credit_reasons_table.spree.rb
solidus_i18n-2.1.1 spec/dummy/db/migrate/20210218213843_create_spree_store_credit_reasons_table.spree.rb
solidus_auth_devise-2.5.4 spec/dummy/db/migrate/20211112052463_create_spree_store_credit_reasons_table.spree.rb
solidus_reports-1.0.0 spec/dummy/db/migrate/20211108200431_create_spree_store_credit_reasons_table.spree.rb
solidus_i18n-2.1.0 spec/dummy/db/migrate/20210218213843_create_spree_store_credit_reasons_table.spree.rb
solidus_auth_devise-2.5.3 spec/dummy/db/migrate/20210129115375_create_spree_store_credit_reasons_table.spree.rb
solidus_auth_devise-2.5.2 spec/dummy/db/migrate/20201006131566_create_spree_store_credit_reasons_table.spree.rb
solidus_auth_devise-2.5.1 spec/dummy/db/migrate/20201006131566_create_spree_store_credit_reasons_table.spree.rb
solidus_auth_devise-2.5.0 spec/dummy/db/migrate/20201006131566_create_spree_store_credit_reasons_table.spree.rb
solidus_reviews-1.4.1 spec/dummy/db/migrate/20200810122132_create_spree_store_credit_reasons_table.spree.rb
solidus_billing_address-0.0.7 spec/dummy/db/migrate/20191128105364_create_spree_store_credit_reasons_table.spree.rb
solidus_billing_address-0.0.6 spec/dummy/db/migrate/20191122155263_create_spree_store_credit_reasons_table.spree.rb
solidus_drip-0.1.0 spec/dummy/db/migrate/20191101230330_create_spree_store_credit_reasons_table.spree.rb
solidus_drip-0.0.1 spec/dummy/db/migrate/20191101230330_create_spree_store_credit_reasons_table.spree.rb
solidus_billing_address-0.0.5 spec/dummy/db/migrate/20191028084776_create_spree_store_credit_reasons_table.spree.rb
solidus_billing_address-0.0.4 spec/dummy/db/migrate/20190926134967_create_spree_store_credit_reasons_table.spree.rb
solidus_billing_address-0.0.3 spec/dummy/db/migrate/20190924075661_create_spree_store_credit_reasons_table.spree.rb
solidus_billing_address-0.0.2 spec/dummy/db/migrate/20190920154651_create_spree_store_credit_reasons_table.spree.rb
solidus_billing_address-0.0.1 spec/dummy/db/migrate/20190823131027_create_spree_store_credit_reasons_table.spree.rb
solidus_bank_transfer-0.1.0 spec/dummy/db/migrate/20190822093461_create_spree_store_credit_reasons_table.spree.rb