Browse Source

Add post-deployment migration script to delete public-boosts-of-private-toots (#10783)

ThibG 5 months ago
parent
commit
a6815a7578
2 changed files with 24 additions and 1 deletions
  1. 23
    0
      db/post_migrate/20190519130537_remove_boosts_widening_audience.rb
  2. 1
    1
      db/schema.rb

+ 23
- 0
db/post_migrate/20190519130537_remove_boosts_widening_audience.rb View File

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

+ 1
- 1
db/schema.rb View File

@@ -10,7 +10,7 @@
10 10
 #
11 11
 # It's strongly recommended that you check this file into your version control system.
12 12
 
13
-ActiveRecord::Schema.define(version: 2019_04_20_025523) do
13
+ActiveRecord::Schema.define(version: 2019_05_19_130537) do
14 14
 
15 15
   # These are extensions that must be enabled in order to support this database
16 16
   enable_extension "plpgsql"

Loading…
Cancel
Save