discourse/db/migrate/20140710224658_add_is_quote_to_topic_links.rb
Sam Saffron 30990006a9 DEV: enable frozen string literal on all files
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.

Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00

26 lines
665 B
Ruby

# frozen_string_literal: true
class AddIsQuoteToTopicLinks < ActiveRecord::Migration[4.2]
def up
add_column :topic_links, :quote, :boolean, default: false, null: false
# a primitive backfill, eventual rebake will catch missing
execute "
UPDATE topic_links
SET quote = true
WHERE id IN (
SELECT l.id
FROM topic_links l
JOIN posts p ON p.id = l.post_id
JOIN posts lp ON l.link_post_id = lp.id
WHERE p.raw LIKE '%\[quote=%post:' ||
lp.post_number::varchar || ',%topic:' ||
lp.topic_id::varchar || '%\]%\[/quote]%'
)"
end
def down
remove_column :topic_links, :quote
end
end