diff options
Diffstat (limited to 'db')
-rw-r--r-- | db/migrate/027_change_classification_system.rb | 25 | ||||
-rw-r--r-- | db/schema.rb | 27 |
2 files changed, 39 insertions, 13 deletions
diff --git a/db/migrate/027_change_classification_system.rb b/db/migrate/027_change_classification_system.rb new file mode 100644 index 000000000..d9e6ad844 --- /dev/null +++ b/db/migrate/027_change_classification_system.rb @@ -0,0 +1,25 @@ +class ChangeClassificationSystem < ActiveRecord::Migration + def self.up + remove_column :incoming_messages, :contains_information + remove_column :incoming_messages, :user_classified + + add_column :info_requests, :described_state, :string + InfoRequest.update_all "described_state = 'waiting_response'" + change_column :info_requests, :described_state, :string, :null => false + + add_column :info_requests, :awaiting_description, :boolean, :default => false, :null => false + InfoRequest.update_all "awaiting_description = 't' where (select count(*) from incoming_messages where info_request_id = info_requests.id) > 0" + + add_column :info_requests, :described_last_incoming_message_id, :integer + InfoRequest.update_all "described_last_incoming_message_id = null" + end + + def self.down + add_column :incoming_messages, :contains_information, :boolean + add_column :incoming_messages, :user_classified, :boolean + + remove_column :info_requests, :described_state + remove_column :info_requests, :awaiting_description + remove_column :info_requests, :described_last_incoming_message_id + end +end diff --git a/db/schema.rb b/db/schema.rb index 3b1d6eb54..057a239b9 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -9,16 +9,14 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 26) do +ActiveRecord::Schema.define(:version => 27) do create_table "incoming_messages", :force => true do |t| - t.integer "info_request_id", :null => false - t.text "raw_data", :null => false - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.boolean "user_classified", :default => false, :null => false - t.boolean "contains_information" - t.boolean "is_bounce", :default => false, :null => false + t.integer "info_request_id", :null => false + t.text "raw_data", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + t.boolean "is_bounce", :default => false, :null => false end create_table "info_request_events", :force => true do |t| @@ -29,11 +27,14 @@ ActiveRecord::Schema.define(:version => 26) do end create_table "info_requests", :force => true do |t| - t.text "title", :null => false - t.integer "user_id", :null => false - t.integer "public_body_id", :null => false - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.text "title", :null => false + t.integer "user_id", :null => false + t.integer "public_body_id", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + t.string "described_state", :null => false + t.boolean "awaiting_description", :default => false, :null => false + t.integer "described_last_incoming_message_id" end create_table "outgoing_messages", :force => true do |t| |