Sha256: e2880c90fffd064adc4dcf9672292f2ef10aeb5b30c8bfdfd43efc8e719e9401

Contents?: true

Size: 1.72 KB

Versions: 21

Compression:

Stored size: 1.72 KB

Contents

class SpreePromoOneTwo < ActiveRecord::Migration[4.2]
  def up
    # This migration is just a compressed migration for all previous versions of spree_promo
    return if data_source_exists?(:spree_products_promotion_rules)

    create_table :spree_products_promotion_rules, id: false, force: true do |t|
      t.references :product
      t.references :promotion_rule
    end

    add_index :spree_products_promotion_rules, [:product_id], name: 'index_products_promotion_rules_on_product_id'
    add_index :spree_products_promotion_rules, [:promotion_rule_id], name: 'index_products_promotion_rules_on_promotion_rule_id'

    create_table :spree_promotion_action_line_items, force: true do |t|
      t.references :promotion_action
      t.references :variant
      t.integer    :quantity, default: 1
    end

    create_table :spree_promotion_actions, force: true do |t|
      t.references :activator
      t.integer    :position
      t.string     :type
    end

    create_table :spree_promotion_rules, force: true do |t|
      t.references :activator
      t.references :user
      t.references :product_group
      t.string     :type
      t.timestamps null: true
    end

    add_index :spree_promotion_rules, [:product_group_id], name: 'index_promotion_rules_on_product_group_id'
    add_index :spree_promotion_rules, [:user_id], name: 'index_promotion_rules_on_user_id'

    create_table :spree_promotion_rules_users, id: false, force: true do |t|
      t.references :user
      t.references :promotion_rule
    end

    add_index :spree_promotion_rules_users, [:promotion_rule_id], name: 'index_promotion_rules_users_on_promotion_rule_id'
    add_index :spree_promotion_rules_users, [:user_id], name: 'index_promotion_rules_users_on_user_id'
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
solidus_core-2.3.1 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.2.2 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.1.1 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.0.3 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.3.0 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.3.0.rc3 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.3.0.rc2 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.3.0.rc1 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.3.0.beta1 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.0.2 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.2.1 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.2.0 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.2.0.rc1 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.2.0.beta1 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.1.0 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.1.0.rc1 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.0.1 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.1.0.beta1 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.0.0 db/migrate/20120831092359_spree_promo_one_two.rb
solidus_core-2.0.0.rc1 db/migrate/20120831092359_spree_promo_one_two.rb