discourse/db/migrate/20141020153415_add_public_version_to_posts.rb

16 lines
502 B
Ruby

class AddPublicVersionToPosts < ActiveRecord::Migration[4.2]
def up
add_column :posts, :public_version, :integer, null: false, default: 1
execute <<-SQL
UPDATE posts
SET public_version = 1 + (SELECT COUNT(*) FROM post_revisions pr WHERE post_id = posts.id AND pr.hidden = 'f')
WHERE public_version <> 1 + (SELECT COUNT(*) FROM post_revisions pr WHERE post_id = posts.id AND pr.hidden = 'f')
SQL
end
def down
remove_column :posts, :public_version
end
end