aboutsummaryrefslogtreecommitdiffstats
path: root/db
diff options
context:
space:
mode:
Diffstat (limited to 'db')
-rw-r--r--db/migrate/027_change_classification_system.rb25
-rw-r--r--db/schema.rb27
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|