summaryrefslogtreecommitdiffstats
path: root/db
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2019-05-19 13:49:31 +0200
committerEugen Rochko <eugen@zeonfederated.com>2019-05-19 13:49:31 +0200
commit4edf5213dcea48be7384042d960603628ae44b54 (patch)
treeb5ac6a3f54f9566ee1612fb6c2151596b6d9e1ac /db
parentab829d4aa8de31b9225dd4c9ef7f52302653c116 (diff)
Add post-deployment migration script to delete public-boosts-of-private-toots (#10783)
Diffstat (limited to 'db')
-rw-r--r--db/post_migrate/20190519130537_remove_boosts_widening_audience.rb23
-rw-r--r--db/schema.rb2
2 files changed, 24 insertions, 1 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 00000000000..d2d92423922
--- /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 782727942e3..cff545be567 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"