Skip to content

Commit

Permalink
Add post-deployment migration script to delete public-boosts-of-priva…
Browse files Browse the repository at this point in the history
…te-toots (mastodon#10783)
  • Loading branch information
ClearlyClaire authored and Gargron committed May 19, 2019
1 parent e8805dd commit 36efd2c
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
23 changes: 23 additions & 0 deletions db/post_migrate/20190519130537_remove_boosts_widening_audience.rb
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion db/schema.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down

0 comments on commit 36efd2c

Please sign in to comment.