Class: CreateJourneybookPages

Inherits:
Object
  • Object
show all
Defined in:
lib/generators/journeybook/install/templates/create_journeybook_pages.rb

Instance Method Summary collapse

Instance Method Details

#changeObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/generators/journeybook/install/templates/create_journeybook_pages.rb', line 2

def change
  create_table :journeybook_pages do |t|
    t.references :site, null: false, foreign_key: { to_table: :journeybook_sites }
    t.string :title, null: false
    t.string :slug, null: false
    t.string :path, null: false
    t.text :markdown, null: false
    t.string :meta_title
    t.text :meta_description
    t.string :status, null: false, default: "draft"
    t.datetime :published_at
    t.string :layout
    t.string :locale, null: false, default: "en"

    t.string :page_type, null: false, default: "page"
    t.text :excerpt
    t.string :author_name
    t.references :parent, foreign_key: { to_table: :journeybook_pages }
    t.string :topic
    t.integer :position, null: false, default: 0

    t.timestamps
  end

  add_index :journeybook_pages, %i[site_id locale slug], unique: true
  add_index :journeybook_pages, %i[site_id locale path], unique: true
  add_index :journeybook_pages, :status
  add_index :journeybook_pages, :page_type
  add_index :journeybook_pages, %i[site_id page_type topic]
  add_index :journeybook_pages, %i[site_id page_type parent_id position]
end