logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
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:

Apriv/repo/migrations/20220807125023_data_migration_delete_context_objects.exs15+++++++++++++++
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