Files
fab-store/db/migrate/20250210131710_create_page_builder_models.spree.rb
2025-10-27 04:17:14 +00:00

82 lines
3.0 KiB
Ruby

# This migration comes from spree (originally 20250120094216)
class CreatePageBuilderModels < ActiveRecord::Migration[6.1]
def change
if !table_exists?(:spree_themes)
create_table :spree_themes do |t|
t.string :name
t.references :store, null: false, index: true
t.boolean :default, default: false, null: false
t.boolean :ready, default: true
t.string :type, default: 'Spree::Themes::Default', null: false
t.references :parent
t.text :preferences
t.timestamps
t.datetime :deleted_at
t.index ['deleted_at'], name: 'index_spree_themes_on_deleted_at'
t.index ['store_id', 'default'], name: 'index_spree_themes_on_store_id_and_default', unique: true, where: "((deleted_at IS NULL) AND (\"default\" = true))"
end
create_table :spree_pages do |t|
t.references :pageable, polymorphic: true, null: false
t.string :type, null: false
t.string :slug
t.string :name, null: false
t.string :meta_title
t.string :meta_description
t.string :meta_keywords
t.references :parent
t.text :preferences
t.timestamps
t.datetime :deleted_at
t.index ['pageable_id', 'name'], name: 'index_spree_pages_on_pageable_id_and_name'
t.index ['pageable_id', 'pageable_type', 'slug'], name: 'index_spree_pages_on_pageable_id_and_pageable_type_and_slug', unique: true, where: '((deleted_at IS NULL) AND (slug IS NOT NULL))'
t.index ['pageable_id', 'pageable_type', 'type'], name: 'index_spree_pages_on_pageable_id_and_pageable_type_and_type'
t.index ['pageable_id', 'pageable_type'], name: 'index_spree_pages_on_pageable_id_and_pageable_type'
end
create_table :spree_page_sections do |t|
t.references :pageable, polymorphic: true, null: false, index: true
t.string :type, null: false
t.string :name, null: false
t.integer :position, default: 1, null: false
t.integer :page_links_count, default: 0
t.text :preferences
t.timestamps
t.datetime :deleted_at
t.index ['pageable_id', 'pageable_type', 'position'], name: 'index_spree_page_sections_on_pageable_w_position'
end
create_table :spree_page_blocks do |t|
t.references :section, null: false, index: true
t.string :name, null: false
t.integer :position, default: 1, null: false
t.string :type, null: false
t.integer :page_links_count, default: 0
t.text :preferences
t.timestamps
t.datetime :deleted_at
t.index ['section_id', 'position'], name: 'index_spree_page_blocks_on_section_w_position'
end
create_table :spree_page_links do |t|
t.references :parent, polymorphic: true, index: true
t.references :linkable, polymorphic: true, index: true
t.string :label
t.string :url
t.boolean :open_in_new_tab, default: false
t.integer :position, default: 1, null: false
t.timestamps
end
end
end
end