| 1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
class CreateTickets < ActiveRecord::Migration |
| 6 |
|
| 7 |
def self.up |
| 8 |
|
| 9 |
create_table :milestones do |t| |
| 10 |
t.string :name, :default => "", :null => false |
| 11 |
t.string :description, :default => "" |
| 12 |
t.column :status, :enum, :limit => [:proposed, :active, :complete], :default => :active |
| 13 |
t.column :audience, :enum, :limit => [:public, :members_only], :default => :public |
| 14 |
t.datetime :due_date |
| 15 |
t.datetime :close_date |
| 16 |
t.integer :progress |
| 17 |
t.timestamps |
| 18 |
t.integer :creator_id, :references => nil |
| 19 |
t.integer :project_id, :null => false |
| 20 |
t.integer :repository_id, :references => nil |
| 21 |
end |
| 22 |
add_index :milestones, [:id, :audience] |
| 23 |
add_index :milestones, [:project_id] |
| 24 |
|
| 25 |
create_table :components do |t| |
| 26 |
t.string :name, :null => false |
| 27 |
t.integer :sort_order |
| 28 |
t.integer :default_user_id, :references => nil |
| 29 |
t.integer :project_id, :null => false |
| 30 |
end |
| 31 |
add_index :components, [:id] |
| 32 |
add_index :components, [:project_id, :sort_order] |
| 33 |
|
| 34 |
create_table :tickets do |t| |
| 35 |
t.string :summary, :default => "", :null => false |
| 36 |
t.text :detail |
| 37 |
t.column :ttype, :enum, :limit => [:defect, :enhancement, :task], :default => :defect |
| 38 |
t.column :status, :enum, :limit => [:proposed, :open, :closed, :deleted], :default => :proposed |
| 39 |
t.column :impact, :enum, :limit => [:low, :high, :security], :default => :low |
| 40 |
t.column :priority, :enum, :limit => [:none, :low, :high, :critical], :default => :none |
| 41 |
t.column :audience, :enum, :limit => [:public, :members], :default => :public |
| 42 |
t.string :cc, :default => "" |
| 43 |
t.string :slug |
| 44 |
t.datetime :open_date |
| 45 |
t.datetime :close_date |
| 46 |
t.integer :views, :default => 0 |
| 47 |
t.timestamps |
| 48 |
|
| 49 |
t.integer :project_id, :null => false |
| 50 |
t.integer :component_id |
| 51 |
t.integer :milestone_id |
| 52 |
t.integer :assignee_id, :references => nil, :default => 2 |
| 53 |
t.integer :submitter_id, :references => nil, :default => 1 |
| 54 |
end |
| 55 |
add_index :tickets, [:id] |
| 56 |
add_index :tickets, [:project_id] |
| 57 |
add_index :tickets, [:milestone_id] |
| 58 |
add_index :tickets, [:assignee_id] |
| 59 |
add_index :tickets, [:submitter_id] |
| 60 |
|
| 61 |
end |
| 62 |
|
| 63 |
def self.down |
| 64 |
drop_table :components |
| 65 |
drop_table :milestones |
| 66 |
drop_table :tickets |
| 67 |
end |
| 68 |
|
| 69 |
end |
| 70 |
|
| 71 |
|
| 72 |
|
| 73 |
|
| 74 |
|