Files
growstuff/db/migrate/20150201052245_create_cms.rb
Daniel O'Connor 000f4979db Trial Ruby32 (#3418)
* Ruby 3.2/Bundler 2.4

* Fix creation

* Upgrade to js-routes 2. Put all js routes into a global namespace.

* Remove js-routes

* Remove

* Adjust ownership

* Appease codeclimate for the nth time

* Fix deprecation warning by explicitly calling to_fs

* Fix deprecation warning by explicitly calling to_fs

* Fix deprecation warning by explicitly calling to_fs

* Swap to will paginate successor for bootstrap

* Update app/views/members/show.html.haml

* Update app/views/plantings/index.rss.haml

* Update .env

* Update .devcontainer/.env

* Fix spec

* Update spec

* Fix spec

* Pin to 2.4.22

* 3 space indent

* Regenerate

* Update rubocop
2024-07-13 14:45:33 +09:30

135 lines
5.2 KiB
Ruby

# frozen_string_literal: true
class CreateCms < ActiveRecord::Migration[4.2]
def self.up
# -- Sites --------------------------------------------------------------
create_table :comfy_cms_sites do |t|
t.string :label, null: false
t.string :identifier, null: false
t.string :hostname, null: false
t.string :path
t.string :locale, null: false, default: 'en'
t.boolean :is_mirrored, null: false, default: false
end
add_index :comfy_cms_sites, :hostname
add_index :comfy_cms_sites, :is_mirrored
# -- Layouts ------------------------------------------------------------
create_table :comfy_cms_layouts do |t|
t.integer :site_id, null: false
t.integer :parent_id
t.string :app_layout
t.string :label, null: false
t.string :identifier, null: false
t.text :content
t.text :css
t.text :js
t.integer :position, null: false, default: 0
t.boolean :is_shared, null: false, default: false
t.timestamps null: true
end
add_index :comfy_cms_layouts, %i(parent_id position)
add_index :comfy_cms_layouts, %i(site_id identifier), unique: true
# -- Pages --------------------------------------------------------------
create_table :comfy_cms_pages do |t|
t.integer :site_id, null: false
t.integer :layout_id
t.integer :parent_id
t.integer :target_page_id
t.string :label, null: false
t.string :slug
t.string :full_path, null: false
t.text :content_cache
t.integer :position, null: false, default: 0
t.integer :children_count, null: false, default: 0
t.boolean :is_published, null: false, default: true
t.boolean :is_shared, null: false, default: false
t.timestamps null: true
end
add_index :comfy_cms_pages, %i(site_id full_path)
add_index :comfy_cms_pages, %i(parent_id position)
# -- Page Blocks --------------------------------------------------------
create_table :comfy_cms_blocks do |t|
t.string :identifier, null: false
t.text :content
t.references :blockable, polymorphic: true
t.timestamps null: true
end
add_index :comfy_cms_blocks, [:identifier]
add_index :comfy_cms_blocks, %i(blockable_id blockable_type)
# -- Snippets -----------------------------------------------------------
create_table :comfy_cms_snippets do |t|
t.integer :site_id, null: false
t.string :label, null: false
t.string :identifier, null: false
t.text :content
t.integer :position, null: false, default: 0
t.boolean :is_shared, null: false, default: false
t.timestamps null: true
end
add_index :comfy_cms_snippets, %i(site_id identifier), unique: true
add_index :comfy_cms_snippets, %i(site_id position)
# -- Files --------------------------------------------------------------
create_table :comfy_cms_files do |t|
t.integer :site_id, null: false
t.integer :block_id
t.string :label, null: false
t.string :file_file_name, null: false
t.string :file_content_type, null: false
t.integer :file_file_size, null: false
t.string :description, limit: 2048
t.integer :position, null: false, default: 0
t.timestamps null: true
end
add_index :comfy_cms_files, %i(site_id label)
add_index :comfy_cms_files, %i(site_id file_file_name)
add_index :comfy_cms_files, %i(site_id position)
add_index :comfy_cms_files, %i(site_id block_id)
# -- Revisions -----------------------------------------------------------
create_table :comfy_cms_revisions, force: true do |t|
t.string :record_type, null: false
t.integer :record_id, null: false
t.text :data
t.datetime :created_at
end
add_index :comfy_cms_revisions, %i(record_type record_id created_at),
name: 'index_cms_revisions_on_rtype_and_rid_and_created_at'
# -- Categories ---------------------------------------------------------
create_table :comfy_cms_categories, force: true do |t|
t.integer :site_id, null: false
t.string :label, null: false
t.string :categorized_type, null: false
end
add_index :comfy_cms_categories, %i(site_id categorized_type label),
unique: true,
name: 'index_cms_categories_on_site_id_and_cat_type_and_label'
create_table :comfy_cms_categorizations, force: true do |t|
t.integer :category_id, null: false
t.string :categorized_type, null: false
t.integer :categorized_id, null: false
end
add_index :comfy_cms_categorizations, %i(category_id categorized_type categorized_id),
unique: true,
name: 'index_cms_categorizations_on_cat_id_and_catd_type_and_catd_id'
end
def self.down
drop_table :comfy_cms_sites
drop_table :comfy_cms_layouts
drop_table :comfy_cms_pages
drop_table :comfy_cms_snippets
drop_table :comfy_cms_blocks
drop_table :comfy_cms_files
drop_table :comfy_cms_revisions
drop_table :comfy_cms_categories
drop_table :comfy_cms_categorizations
end
end