]> git.openstreetmap.org Git - rails.git/blob - db/migrate/20160822153055_create_issues_and_reports.rb
Refactor creating a new report to use a ReportsController
[rails.git] / db / migrate / 20160822153055_create_issues_and_reports.rb
1 require "migrate"
2
3 class CreateIssuesAndReports < ActiveRecord::Migration
4   def change
5     create_table :issues do |t|
6       t.string :reportable_type, :null => false
7       t.integer :reportable_id, :null => false
8       t.integer :reported_user_id, :null => false
9       t.integer :status
10       t.string :issue_type
11       t.datetime :resolved_at
12       t.integer :resolved_by
13       t.datetime :created_at
14       t.datetime :updated_at
15       t.integer :updated_by
16
17       t.timestamps :null => false
18     end
19
20     add_foreign_key :issues, :users, :column => :reported_user_id, :name => "issues_reported_user_id_fkey", :on_delete => :cascade
21
22     add_index :issues, :reported_user_id
23     add_index :issues, [:reportable_id, :reportable_type]
24
25     create_table :reports do |t|
26       t.integer :issue_id
27       t.integer :reporter_user_id
28       t.text :details
29       t.datetime :created_at
30       t.datetime :updated_at
31
32       t.timestamps :null => false
33     end
34
35     add_foreign_key :reports, :issues, :name => "reports_issue_id_fkey", :on_delete => :cascade
36     add_foreign_key :reports, :users, :column => :reporter_user_id, :name => "reports_reporter_user_id_fkey", :on_delete => :cascade
37
38     add_index :reports, :reporter_user_id
39     add_index :reports, :issue_id
40   end
41 end