20190519130537_remove_boosts_widening_audience.rb 630 B

1234567891011121314151617181920212223
  1. class RemoveBoostsWideningAudience < ActiveRecord::Migration[5.2]
  2. disable_ddl_transaction!
  3. def up
  4. public_boosts = Status.find_by_sql(<<-SQL)
  5. SELECT boost.id
  6. FROM statuses AS boost
  7. LEFT JOIN statuses AS boosted ON boost.reblog_of_id = boosted.id
  8. WHERE
  9. boost.id > 101746055577600000
  10. AND (boost.local = TRUE OR boost.uri IS NULL)
  11. AND boost.visibility IN (0, 1)
  12. AND boost.reblog_of_id IS NOT NULL
  13. AND boosted.visibility = 2
  14. SQL
  15. RemovalWorker.push_bulk(public_boosts.pluck(:id))
  16. end
  17. def down
  18. raise ActiveRecord::IrreversibleMigration
  19. end
  20. end