21 lines
535 B
Ruby
21 lines
535 B
Ruby
|
class AddBadgePostsAndTopicsView < ActiveRecord::Migration
|
||
|
def up
|
||
|
add_column :categories, :allow_badges, :boolean, default: true, null: false
|
||
|
|
||
|
execute "CREATE VIEW badge_posts AS
|
||
|
SELECT p.*
|
||
|
FROM posts p
|
||
|
JOIN topics t ON t.id = p.topic_id
|
||
|
JOIN categories c ON c.id = t.category_id
|
||
|
WHERE c.allow_badges AND
|
||
|
p.deleted_at IS NULL AND
|
||
|
t.deleted_at IS NULL AND
|
||
|
t.visible"
|
||
|
end
|
||
|
|
||
|
def down
|
||
|
execute "DROP VIEW badge_posts"
|
||
|
remove_column :categories, :allow_badges
|
||
|
end
|
||
|
end
|