mirror of
https://github.com/discourse/discourse.git
synced 2024-11-30 15:15:50 +08:00
21 lines
613 B
Ruby
21 lines
613 B
Ruby
class MergePollsVotes < ActiveRecord::Migration
|
|
|
|
def up
|
|
PostCustomField.where(name: "polls").order(:post_id).pluck(:post_id).each do |post_id|
|
|
polls_votes = {}
|
|
PostCustomField.where(post_id: post_id).where("name LIKE 'polls-votes-%'").find_each do |pcf|
|
|
user_id = pcf.name["polls-votes-".size..-1]
|
|
polls_votes["#{user_id}"] = ::JSON.parse(pcf.value||"{}")
|
|
end
|
|
|
|
pcf = PostCustomField.find_or_create_by(name: "polls-votes", post_id: post_id)
|
|
pcf.value = ::JSON.parse(pcf.value||"{}").merge(polls_votes).to_json
|
|
pcf.save
|
|
end
|
|
end
|
|
|
|
def down
|
|
end
|
|
|
|
end
|