discourse/db/migrate/20120703210004_add_bookmark_count_to_posts.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

22 lines
1.1 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
class AddBookmarkCountToPosts < ActiveRecord::Migration[4.2]
2013-02-06 03:16:51 +08:00
def change
add_column :posts, :bookmark_count, :integer, default: 0, null: false
add_column :forum_threads, :bookmark_count, :integer, default: 0, null: false
add_column :forum_threads, :star_count, :integer, default: 0, null: false
2013-02-26 00:42:20 +08:00
execute "UPDATE posts SET bookmark_count = (SELECT COUNT(*)
FROM bookmarks
2013-02-06 03:16:51 +08:00
WHERE post_number = posts.post_number AND forum_thread_id = posts.forum_thread_id)"
2013-02-26 00:42:20 +08:00
execute "UPDATE forum_threads SET bookmark_count = (SELECT COUNT(*)
FROM bookmarks
2013-02-06 03:16:51 +08:00
WHERE forum_thread_id = forum_threads.id)"
2013-02-26 00:42:20 +08:00
execute "UPDATE forum_threads SET star_count = (SELECT COUNT(*)
FROM forum_thread_users
2013-02-06 03:16:51 +08:00
WHERE forum_thread_id = forum_threads.id AND starred = true)"
end
end