diff options
Diffstat (limited to 'db')
-rw-r--r-- | db/migrate/051_add_track_things_unique_indices.rb | 11 | ||||
-rw-r--r-- | db/schema.rb | 6 |
2 files changed, 16 insertions, 1 deletions
diff --git a/db/migrate/051_add_track_things_unique_indices.rb b/db/migrate/051_add_track_things_unique_indices.rb new file mode 100644 index 000000000..77bd3ce13 --- /dev/null +++ b/db/migrate/051_add_track_things_unique_indices.rb @@ -0,0 +1,11 @@ +class AddTrackThingsUniqueIndices < ActiveRecord::Migration + def self.up + add_index :track_things, [:tracking_user_id, :track_query], :unique => true + execute "create unique index track_things_sent_emails_unique_index on track_things_sent_emails(track_thing_id, coalesce(info_request_event_id, -1), coalesce(user_id, -1), coalesce(public_body_id, -1))" + end + + def self.down + remove_index :track_things, [:tracking_user_id, :track_query] + execute "drop index track_things_sent_emails_unique_index" + end +end diff --git a/db/schema.rb b/db/schema.rb index 33e01f82d..3a8433f47 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -9,7 +9,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 50) do +ActiveRecord::Schema.define(:version => 51) do create_table "incoming_messages", :force => true do |t| t.integer "info_request_id", :null => false @@ -129,6 +129,8 @@ ActiveRecord::Schema.define(:version => 50) do t.datetime "updated_at" end + add_index "track_things", ["tracking_user_id", "track_query"], :name => "index_track_things_on_tracking_user_id_and_track_query", :unique => true + create_table "track_things_sent_emails", :force => true do |t| t.integer "track_thing_id", :null => false t.integer "info_request_event_id" @@ -138,6 +140,8 @@ ActiveRecord::Schema.define(:version => 50) do t.datetime "updated_at" end + add_index "track_things_sent_emails", ["track_thing_id"], :name => "track_things_sent_emails_unique_index", :unique => true + create_table "user_info_request_sent_alerts", :force => true do |t| t.integer "user_id", :null => false t.integer "info_request_id", :null => false |