From 1ba4ece23c9f5d73d8e9d28c6fe98148e8b8b6e4 Mon Sep 17 00:00:00 2001 From: Raphael Sofaer <raphael@joindiaspora.com> Date: Wed, 30 Mar 2011 16:12:38 -0700 Subject: [PATCH] Foreign keys on pms --- db/migrate/20110330230206_pm_foreign_keys.rb | 21 ++++++++++++++++++++ db/schema.rb | 13 +++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20110330230206_pm_foreign_keys.rb diff --git a/db/migrate/20110330230206_pm_foreign_keys.rb b/db/migrate/20110330230206_pm_foreign_keys.rb new file mode 100644 index 0000000000..0b63c72a5c --- /dev/null +++ b/db/migrate/20110330230206_pm_foreign_keys.rb @@ -0,0 +1,21 @@ +class PmForeignKeys < ActiveRecord::Migration + def self.up + add_foreign_key :conversation_visibilities, :conversations, :dependent => :delete + add_foreign_key :conversation_visibilities, :people, :dependent => :delete + + add_foreign_key :messages, :conversations, :dependent => :delete + add_foreign_key :messages, :people, :column => :author_id, :dependent => :delete + + add_foreign_key :conversations, :people, :column => :author_id, :dependent => :delete + end + + def self.down + remove_foreign_key :conversation_visibilities, :conversations + remove_foreign_key :conversation_visibilities, :people + + remove_foreign_key :messages, :conversations + remove_foreign_key :messages, :people, :column => :author_id + + remove_foreign_key :conversations, :people, :column => :author_id + end +end diff --git a/db/schema.rb b/db/schema.rb index 578cee0b6e..e484b8f481 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20110330175950) do +ActiveRecord::Schema.define(:version => 20110330230206) do create_table "aspect_memberships", :force => true do |t| t.integer "aspect_id", :null => false @@ -101,6 +101,8 @@ ActiveRecord::Schema.define(:version => 20110330175950) do t.datetime "updated_at" end + add_index "conversations", ["author_id"], :name => "conversations_author_id_fk" + create_table "invitations", :force => true do |t| t.text "message" t.integer "sender_id", :null => false @@ -152,6 +154,7 @@ ActiveRecord::Schema.define(:version => 20110330175950) do end add_index "messages", ["author_id"], :name => "index_messages_on_author_id" + add_index "messages", ["conversation_id"], :name => "messages_conversation_id_fk" create_table "mongo_notifications", :force => true do |t| t.string "mongo_id" @@ -386,12 +389,20 @@ ActiveRecord::Schema.define(:version => 20110330175950) do add_foreign_key "contacts", "people", :name => "contacts_person_id_fk", :dependent => :delete + add_foreign_key "conversation_visibilities", "conversations", :name => "conversation_visibilities_conversation_id_fk", :dependent => :delete + add_foreign_key "conversation_visibilities", "people", :name => "conversation_visibilities_person_id_fk", :dependent => :delete + + add_foreign_key "conversations", "people", :name => "conversations_author_id_fk", :column => "author_id", :dependent => :delete + add_foreign_key "invitations", "users", :name => "invitations_recipient_id_fk", :column => "recipient_id", :dependent => :delete add_foreign_key "invitations", "users", :name => "invitations_sender_id_fk", :column => "sender_id", :dependent => :delete add_foreign_key "likes", "people", :name => "likes_author_id_fk", :column => "author_id" add_foreign_key "likes", "posts", :name => "likes_post_id_fk" + add_foreign_key "messages", "conversations", :name => "messages_conversation_id_fk", :dependent => :delete + add_foreign_key "messages", "people", :name => "messages_author_id_fk", :column => "author_id", :dependent => :delete + add_foreign_key "notification_actors", "notifications", :name => "notification_actors_notification_id_fk", :dependent => :delete add_foreign_key "post_visibilities", "contacts", :name => "post_visibilities_contact_id_fk", :dependent => :delete -- GitLab