about summary refs log tree commit diff
path: root/db/post_migrate/20190519130537_remove_boosts_widening_audience.rb
diff options
context:
space:
mode:
authorReverite <github@reverite.sh>2019-05-21 20:48:57 -0700
committerReverite <github@reverite.sh>2019-05-21 20:48:57 -0700
commitd873e4f3d5878a2b2800758cbe3b9c870c228d51 (patch)
tree23a3a373699381d4bd4f629136b9c82de5df96a3 /db/post_migrate/20190519130537_remove_boosts_widening_audience.rb
parent4cea89bf2e9ce7f73fccfc637191b1e039ad25ee (diff)
parent2332b3f146b0d879daba8a99bd35c8bf425edea3 (diff)
Merge branch 'glitch' into production
Diffstat (limited to 'db/post_migrate/20190519130537_remove_boosts_widening_audience.rb')
-rw-r--r--db/post_migrate/20190519130537_remove_boosts_widening_audience.rb23
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