Class: CreateZendeskGuideModels

Inherits:
ActiveRecord::Migration
  • Object
show all
Defined in:
lib/generators/guidepost/templates/migrations.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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/generators/guidepost/templates/migrations.rb', line 2

def change
    create_table :zendesk_guide_categories do |t|
        t.integer :category_id, limit: 8
        t.string :name, null: false, default: "General"
        t.string :description
        t.string :locale, null: false, default: "en-us"
        t.string :source_locale
        t.string :url
        t.string :html_url
        t.boolean :outdated
        t.integer :position
        t.timestamp :category_created_at
        t.timestamp :category_updated_at
    end

    create_table :zendesk_guide_sections do |t|
        t.references :zendesk_guide_category, foreign_key: true
        t.integer :category_id, limit: 8
        t.integer :section_id, limit: 8
        t.string :name, null: false, default: "General"
        t.string :description
        t.string :locale, null: false, default: "en-us"
        t.string :source_locale
        t.string :url
        t.string :html_url
        t.boolean :outdated
        t.integer :position
        t.timestamp :section_created_at
        t.timestamp :section_updated_at
    end

    create_table :zendesk_guide_user_segments do |t|
        t.integer :user_segment_id, limit: 8
        t.string :name
        t.string :user_type
        t.integer :group_ids, array: true, default: [], limit: 8
        t.integer :organization_ids, array: true, default: [], limit: 8
        t.string :tags, array: true, default: []
        t.timestamp :user_segment_created_at
        t.timestamp :user_segment_updated_at
    end

    create_table :zendesk_guide_permission_groups do |t|
        t.integer :permission_group_id, limit: 8
        t.string :name
        t.integer :edit, array: true, default: [], limit: 8
        t.integer :publish, array: true, default: [], limit: 8
        t.timestamp :permission_group_created_at
        t.timestamp :permission_group_updated_at
        t.boolean :built_in
    end

    create_table :zendesk_guide_articles do |t|
        t.references :zendesk_guide_section, foreign_key: true
        t.integer :section_id, limit: 8
        t.integer :article_id, limit: 8
        t.string :url
        t.string :html_url
        t.string :title, null: false, default: "FAQ"
        t.string :body
        t.string :locale, null: false, default: "en-us"
        t.string :source_locale
        t.integer :author_id, limit: 8
        t.boolean :comments_disabled, default: false
        t.string :outdated_locales, array: true
        t.string :label_names, array: true, default: []
        t.boolean :draft, default: false
        t.boolean :promoted, default: false
        t.integer :position, default: 0
        t.integer :vote_sum
        t.integer :vote_count
        t.integer :user_segment_id, limit: 8
        t.references :zendesk_guide_user_segment, foreign_key: true
        t.integer :permission_group_id, limit: 8
        t.references :zendesk_guide_permission_group, foreign_key: true
        t.timestamp :article_created_at
        t.timestamp :article_edited_at
        t.timestamp :article_updated_at
    end

    create_table :zendesk_guide_article_attachments do |t|
        t.references :zendesk_guide_article, foreign_key: true
        t.integer :article_id, limit: 8
        t.integer :article_attachment_id, limit: 8
        t.string :url
        t.string :file_name
        t.string :content_url
        t.integer :size, limit: 8
        t.boolean :inline, default: false
        t.timestamp :article_attachment_created_at
        t.timestamp :article_attachment_updated_at
    end
end