aboutsummaryrefslogtreecommitdiffstats
path: root/db/migrate
diff options
context:
space:
mode:
authorfrancis <francis>2008-02-12 14:46:58 +0000
committerfrancis <francis>2008-02-12 14:46:58 +0000
commitd296a09d9acd0dc033e509dbb05dbd36b0b65762 (patch)
treee45571f4bd2afd3cd2ee42553a0e28a0a413747e /db/migrate
parent56d2ffd5d936aea42e2218fbd1dc9c7bc4bfe301 (diff)
It's a shitty way to add foreign keys to the database, but it works (tried to
find a plugin, but there are many and they're not very good).
Diffstat (limited to 'db/migrate')
-rw-r--r--db/migrate/032_addforeignkeys.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/db/migrate/032_addforeignkeys.rb b/db/migrate/032_addforeignkeys.rb
new file mode 100644
index 000000000..645aa2324
--- /dev/null
+++ b/db/migrate/032_addforeignkeys.rb
@@ -0,0 +1,32 @@
+class Addforeignkeys < ActiveRecord::Migration
+ def self.up
+ execute "ALTER TABLE incoming_messages ADD CONSTRAINT fk_incoming_messages_info_request FOREIGN KEY (info_request_id) REFERENCES info_requests(id)"
+
+ execute "ALTER TABLE info_request_events ADD CONSTRAINT fk_info_request_events_info_request FOREIGN KEY (info_request_id) REFERENCES info_requests(id)"
+ execute "ALTER TABLE info_requests ADD CONSTRAINT fk_info_requests_user FOREIGN KEY (user_id) REFERENCES users(id)"
+ execute "ALTER TABLE info_requests ADD CONSTRAINT fk_info_requests_public_body FOREIGN KEY (public_body_id) REFERENCES public_bodies(id)"
+
+ execute "ALTER TABLE outgoing_messages ADD CONSTRAINT fk_outgoing_messages_info_request FOREIGN KEY (info_request_id) REFERENCES info_requests(id)"
+ execute "ALTER TABLE outgoing_messages ADD CONSTRAINT fk_incoming_message_followup_info_request FOREIGN KEY (incoming_message_followup_id) REFERENCES incoming_messages(id)"
+
+ execute "ALTER TABLE post_redirects ADD CONSTRAINT fk_post_redirects_user FOREIGN KEY (user_id) REFERENCES users(id)"
+
+ execute "ALTER TABLE public_body_versions ADD CONSTRAINT fk_public_body_versions_public_body FOREIGN KEY (public_body_id) REFERENCES public_bodies(id)"
+ end
+
+ def self.down
+ execute "ALTER TABLE incoming_messages DROP CONSTRAINT fk_incoming_messages_info_request"
+
+ execute "ALTER TABLE info_request_events DROP CONSTRAINT fk_info_request_events_info_request"
+
+ execute "ALTER TABLE info_requests DROP CONSTRAINT fk_info_requests_user"
+ execute "ALTER TABLE info_requests DROP CONSTRAINT fk_info_requests_public_body"
+
+ execute "ALTER TABLE outgoing_messages DROP CONSTRAINT fk_outgoing_messages_info_request"
+ execute "ALTER TABLE outgoing_messages DROP CONSTRAINT fk_incoming_message_followup_info_request"
+
+ execute "ALTER TABLE post_redirects DROP CONSTRAINT fk_post_redirects_user"
+
+ execute "ALTER TABLE public_body_versions DROP CONSTRAINT fk_public_body_versions_public_body"
+ end
+end