]> cat aescling's git repositories - mastodon.git/commitdiff
Add post-deployment migration script to delete public-boosts-of-private-toots (#10783)
authorThibG <thib@sitedethib.com>
Sun, 19 May 2019 11:49:31 +0000 (13:49 +0200)
committerEugen Rochko <eugen@zeonfederated.com>
Sun, 19 May 2019 11:49:31 +0000 (13:49 +0200)
db/post_migrate/20190519130537_remove_boosts_widening_audience.rb [new file with mode: 0644]
db/schema.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 (file)
index 0000000..d2d9242
--- /dev/null
@@ -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
index 782727942e3eed2c25dd3fb736e45041b10bdee4..cff545be5672fe8451c51267e2971431fa53dd86 100644 (file)
@@ -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"