Fix mentions in comments migration on PostgreSQL

This commit is contained in:
Steffen van Bergerem 2016-11-29 23:36:42 +01:00
parent 3b0c1020c0
commit 154ea6515a
No known key found for this signature in database
GPG key ID: 315C9787D548DC6B

View file

@ -3,7 +3,7 @@ class PolymorphicMentions < ActiveRecord::Migration
remove_index :mentions, column: %i(post_id) remove_index :mentions, column: %i(post_id)
remove_index :mentions, column: %i(person_id post_id), unique: true remove_index :mentions, column: %i(person_id post_id), unique: true
rename_column :mentions, :post_id, :mentions_container_id rename_column :mentions, :post_id, :mentions_container_id
add_column :mentions, :mentions_container_type, :string, null: false add_column :mentions, :mentions_container_type, :string
add_index :mentions, add_index :mentions,
%i(mentions_container_id mentions_container_type), %i(mentions_container_id mentions_container_type),
name: "index_mentions_on_mc_id_and_mc_type", name: "index_mentions_on_mc_id_and_mc_type",
@ -26,6 +26,7 @@ class PolymorphicMentions < ActiveRecord::Migration
def up_down(change) def up_down(change)
change.up do change.up do
Mention.update_all(mentions_container_type: "Post") Mention.update_all(mentions_container_type: "Post")
change_column :mentions, :mentions_container_type, :string, null: false
Notification.where(type: "Notifications::Mentioned").update_all(type: "Notifications::MentionedInPost") Notification.where(type: "Notifications::Mentioned").update_all(type: "Notifications::MentionedInPost")
end end