Make likes dependent delete, rather than dependent restrict. The fk in the former migration had dependent spelled wrong, and it silently failed

This commit is contained in:
Raphael Sofaer 2011-06-03 14:38:23 -07:00
parent 40ab168a5a
commit 7e0944fb69
3 changed files with 20 additions and 5 deletions

View file

@ -15,8 +15,8 @@ class AddLikes < ActiveRecord::Migration
end end
add_index :likes, :guid, :unique => true add_index :likes, :guid, :unique => true
add_index :likes, :post_id add_index :likes, :post_id
add_foreign_key(:likes, :posts, :dependant => :delete) add_foreign_key(:likes, :posts)
add_foreign_key(:likes, :people, :column => :author_id, :dependant => :delete) add_foreign_key(:likes, :people, :column => :author_id)
end end
end end

View file

@ -0,0 +1,15 @@
class LikesDependentDelete < ActiveRecord::Migration
def self.up
remove_foreign_key :likes, :column => :author_id
remove_foreign_key :likes, :post
add_foreign_key(:likes, :posts, :dependent => :delete)
add_foreign_key(:likes, :people, :column => :author_id, :dependent => :delete)
end
def self.down
remove_foreign_key(:likes, :posts)
remove_foreign_key(:likes, :people, :column => :author_id)
add_foreign_key :likes, :people, :column => :author_id
add_foreign_key :likes, :post
end
end

View file

@ -10,7 +10,7 @@
# #
# It's strongly recommended to check this file into your version control system. # It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20110603181015) do ActiveRecord::Schema.define(:version => 20110603212633) do
create_table "aspect_memberships", :force => true do |t| create_table "aspect_memberships", :force => true do |t|
t.integer "aspect_id", :null => false t.integer "aspect_id", :null => false
@ -398,8 +398,8 @@ ActiveRecord::Schema.define(:version => 20110603181015) do
add_foreign_key "invitations", "users", :name => "invitations_recipient_id_fk", :column => "recipient_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 "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", "people", :name => "likes_author_id_fk", :column => "author_id", :dependent => :delete
add_foreign_key "likes", "posts", :name => "likes_post_id_fk" add_foreign_key "likes", "posts", :name => "likes_post_id_fk", :dependent => :delete
add_foreign_key "messages", "conversations", :name => "messages_conversation_id_fk", :dependent => :delete 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 "messages", "people", :name => "messages_author_id_fk", :column => "author_id", :dependent => :delete