From 3b769bf9a87adfb7655761ed7650e0843f8b970f Mon Sep 17 00:00:00 2001 From: ThibG Date: Sun, 19 May 2019 13:49:31 +0200 Subject: [PATCH] Add post-deployment migration script to delete public-boosts-of-private-toots (#10783) --- ...9130537_remove_boosts_widening_audience.rb | 23 +++++++++++++++++++ db/schema.rb | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 db/post_migrate/20190519130537_remove_boosts_widening_audience.rb 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 00000000000000..d2d924239229d3 --- /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 diff --git a/db/schema.rb b/db/schema.rb index 77ef846c9f3a72..0b5a9305655748 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2019_05_11_152737) do +ActiveRecord::Schema.define(version: 2019_05_19_130537) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql"