mirror of
https://github.com/codeninjasllc/discourse.git
synced 2024-11-27 09:36:19 -05:00
FIX: from Sam: post_actions.targets_topic should not be nullable. Delete duplicate likes and prevent them from happening again.
This commit is contained in:
parent
62b6e82e6d
commit
bca855d80e
1 changed files with 26 additions and 0 deletions
26
db/migrate/20140815183851_fix_index_on_post_actions.rb
Normal file
26
db/migrate/20140815183851_fix_index_on_post_actions.rb
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
class FixIndexOnPostActions < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
execute 'UPDATE post_actions SET targets_topic = false WHERE targets_topic IS NULL'
|
||||||
|
change_column :post_actions, :targets_topic, :boolean, default: false, null: false
|
||||||
|
|
||||||
|
execute '
|
||||||
|
DELETE FROM post_actions pa
|
||||||
|
USING post_actions x
|
||||||
|
WHERE pa.user_id = x.user_id AND
|
||||||
|
pa.post_action_type_id = x.post_action_type_id AND
|
||||||
|
pa.post_id = x.post_id AND
|
||||||
|
pa.targets_topic = x.targets_topic AND
|
||||||
|
pa.id < x.id AND
|
||||||
|
pa.deleted_at IS NULL AND
|
||||||
|
x.deleted_at IS NULL
|
||||||
|
'
|
||||||
|
|
||||||
|
remove_index "post_actions", name: "idx_unique_actions"
|
||||||
|
add_index "post_actions",
|
||||||
|
["user_id", "post_action_type_id",
|
||||||
|
"post_id", "targets_topic"],
|
||||||
|
name: "idx_unique_actions",
|
||||||
|
unique: true,
|
||||||
|
where: 'deleted_at IS NULL'
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue