commit: c559c240d1a56f05fc70f69ae6b8c0809026fa2e
parent def0f5dc2e76b7c4ac22b393abf7f5de5e197659
Author: Hélène <pleroma-dev@helene.moe>
Date: Sun, 7 Aug 2022 20:41:24 +0200
Migrations: delete context objects
These objects represent from 30 to 70% of the rows on the objects table,
based on numbers from a few live instances (single-user, small, large.)
As those pseudo-objects prevent creating objects with those actual IDs,
deleting them is a better solution. This could have happened if an
object used another object's ID as its context.
Diffstat:
1 file changed, 15 insertions(+), 0 deletions(-)
diff --git a/priv/repo/migrations/20220807125023_data_migration_delete_context_objects.exs b/priv/repo/migrations/20220807125023_data_migration_delete_context_objects.exs
@@ -0,0 +1,15 @@
+defmodule Pleroma.Repo.Migrations.DataMigrationDeleteContextObjects do
+ use Ecto.Migration
+
+ require Logger
+
+ @doc "This migration removes objects created exclusively for contexts, containing only an `id` field."
+
+ def change do
+ Logger.warn(
+ "This migration can take a very long time to execute, depending on your database size. Please be patient, Pleroma-tan is doing her best!\n"
+ )
+
+ execute("DELETE FROM objects WHERE (data->>'type') IS NULL;")
+ end
+end