diff options
author | francis <francis> | 2008-04-01 16:40:37 +0000 |
---|---|---|
committer | francis <francis> | 2008-04-01 16:40:37 +0000 |
commit | baa530c0c8f5fb1e12173fbfde8f722ebeffe5be (patch) | |
tree | d80dd72953de39723d3208f78247052352e85fb1 /db/migrate | |
parent | 708480da65908e38e00cfa1eaef9b7f04cc9a4a6 (diff) |
Skeleton of tracking / alerting / email.
Diffstat (limited to 'db/migrate')
-rw-r--r-- | db/migrate/049_track_things.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/db/migrate/049_track_things.rb b/db/migrate/049_track_things.rb new file mode 100644 index 000000000..65871bc73 --- /dev/null +++ b/db/migrate/049_track_things.rb @@ -0,0 +1,37 @@ +class TrackThings < ActiveRecord::Migration + def self.up + create_table :track_things do |t| + t.column :tracking_user_id, :integer, :null => false + t.column :track_query, :string, :null => false + + # optional foreign key links, for displaying people who are tracking this on pages + t.column :info_request_id, :integer, :default => nil + t.column :tracked_user_id, :integer, :default => nil + t.column :public_body_id, :integer, :default => nil + + t.column :track_medium, :string, :null => false + end + + execute "ALTER TABLE track_things ADD CONSTRAINT fk_track_request_tracking_user FOREIGN KEY (tracking_user_id) REFERENCES users(id)" + execute "ALTER TABLE track_things ADD CONSTRAINT fk_track_request_tracked_user FOREIGN KEY (tracked_user_id) REFERENCES users(id)" + execute "ALTER TABLE track_things ADD CONSTRAINT fk_track_request_info_request FOREIGN KEY (info_request_id) REFERENCES info_requests(id)" + execute "ALTER TABLE track_things ADD CONSTRAINT fk_track_request_public_body FOREIGN KEY (public_body_id) REFERENCES public_bodies(id)" + + create_table :track_things_sent_emails do |t| + t.column :track_thing_id, :integer, :null => false + + t.column :info_request_event_id, :integer, :default => nil + t.column :user_id, :integer, :default => nil + t.column :public_body_id, :integer, :default => nil + end + + execute "ALTER TABLE track_things_sent_emails ADD CONSTRAINT fk_track_request_info_request_event FOREIGN KEY (info_request_event_id) REFERENCES info_request_events(id)" + execute "ALTER TABLE track_things_sent_emails ADD CONSTRAINT fk_track_request_user FOREIGN KEY (user_id) REFERENCES users(id)" + execute "ALTER TABLE track_things_sent_emails ADD CONSTRAINT fk_track_request_public_body FOREIGN KEY (user_id) REFERENCES users(id)" + end + + def self.down + drop_table :track_things + drop_table :track_things_sent_emails + end +end |