diff options
author | ThibG <thib@sitedethib.com> | 2019-05-19 13:49:31 +0200 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2019-05-19 13:49:31 +0200 |
commit | 4edf5213dcea48be7384042d960603628ae44b54 (patch) | |
tree | b5ac6a3f54f9566ee1612fb6c2151596b6d9e1ac /db/post_migrate | |
parent | ab829d4aa8de31b9225dd4c9ef7f52302653c116 (diff) |
Add post-deployment migration script to delete public-boosts-of-private-toots (#10783)
Diffstat (limited to 'db/post_migrate')
-rw-r--r-- | db/post_migrate/20190519130537_remove_boosts_widening_audience.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/db/post_migrate/20190519130537_remove_boosts_widening_audience.rb b/db/post_migrate/20190519130537_remove_boosts_widening_audience.rb new file mode 100644 index 000000000..d2d924239 --- /dev/null +++ b/db/post_migrate/20190519130537_remove_boosts_widening_audience.rb @@ -0,0 +1,23 @@ +class RemoveBoostsWideningAudience < ActiveRecord::Migration[5.2] + disable_ddl_transaction! + + def up + public_boosts = Status.find_by_sql(<<-SQL) + SELECT boost.id + FROM statuses AS boost + LEFT JOIN statuses AS boosted ON boost.reblog_of_id = boosted.id + WHERE + boost.id > 101746055577600000 + AND (boost.local = TRUE OR boost.uri IS NULL) + AND boost.visibility IN (0, 1) + AND boost.reblog_of_id IS NOT NULL + AND boosted.visibility = 2 + SQL + + RemovalWorker.push_bulk(public_boosts.pluck(:id)) + end + + def down + raise ActiveRecord::IrreversibleMigration + end +end |