Module: MigrationHelpers::Items::TaskStructure

Defined in:
lib/migrate/items/task_structure.rb

Instance Method Summary collapse

Instance Method Details

#create_table_lesli_item_tasks_10(engine) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/migrate/items/task_structure.rb', line 36

def create_table_lesli_item_tasks_10(engine)

    table_name, foreign_key = table_name_for_items(engine, :tasks)

    create_table table_name do |t|
        t.string  :title, null: false
        t.boolean :done, default: false, null: false

        # Polymorphic target
        t.string  :taskable_type, null: false
        t.bigint  :taskable_id,   null: false

        t.timestamps
        t.datetime :deleted_at, index: true
    end

    add_reference(table_name, :user, foreign_key: { to_table: :lesli_users })
    add_reference(table_name, :account, foreign_key: { to_table: "#{engine}_accounts".to_sym })
    add_index(table_name, [:account_id, :taskable_type, :taskable_id], name: "#{table_name}_taskable_type_id".to_sym)
end