Sha256: b6742d9014a1780b64be692b13b4a319c651503d3ffd6e0b36947b1e11b6dbc7

Contents?: true

Size: 1.93 KB

Versions: 16

Compression:

Stored size: 1.93 KB

Contents

class CreateStoreTranslations < ActiveRecord::Migration[6.1]
  def change
    if ActiveRecord::Base.connection.table_exists?('spree_store_translations')
      add_new_translation_columns_to_globalize_table
    else
      create_table :spree_store_translations do |t|
        # Translated attribute(s)
        t.string :name
        t.text :meta_description
        t.text :meta_keywords
        t.string :seo_title
        t.string :facebook
        t.string :twitter
        t.string :instagram
        t.string :customer_support_email
        t.text :description
        t.text :address
        t.string :contact_phone
        t.string :new_order_notifications_email

        t.string  :locale, null: false
        t.references :spree_store, null: false, foreign_key: true, index: false

        t.timestamps null: false
      end

      add_index :spree_store_translations, :locale, name: :index_spree_store_translations_on_locale
    end

    add_index :spree_store_translations, [:spree_store_id, :locale], name: :index_spree_store_translations_on_spree_store_id_locale, unique: true
  end

  private

  def add_new_translation_columns_to_globalize_table
    # manually check for index since Rails if_exists does not always work correctly
    if ActiveRecord::Migration.connection.index_exists?(:spree_store_translations, :spree_store_id)
      remove_index :spree_store_translations, column: :spree_store_id, if_exists: true
    end

    add_column :spree_store_translations, :facebook, :string
    add_column :spree_store_translations, :twitter, :string
    add_column :spree_store_translations, :instagram, :string
    add_column :spree_store_translations, :customer_support_email, :string
    add_column :spree_store_translations, :description, :text
    add_column :spree_store_translations, :address, :text
    add_column :spree_store_translations, :contact_phone, :string
    add_column :spree_store_translations, :new_order_notifications_email, :string
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
spree_core-4.10.1 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.10.0 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.9.0 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.8.3 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.8.2 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.7.3 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.6.6 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.6.5 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.7.2 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.7.1 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.6.4 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.7.0 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.6.3 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.6.2 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.6.1 db/migrate/20230210142732_create_store_translations.rb
spree_core-4.6.0 db/migrate/20230210142732_create_store_translations.rb