diff options
author | Hélène <pleroma-dev@helene.moe> | 2022-08-07 20:41:24 +0200 |
---|---|---|
committer | Hélène <pleroma-dev@helene.moe> | 2022-08-10 02:29:38 +0200 |
commit | c559c240d1a56f05fc70f69ae6b8c0809026fa2e (patch) | |
tree | 331554198590eedd3349ccecf5b40807c620772c | |
parent | def0f5dc2e76b7c4ac22b393abf7f5de5e197659 (diff) | |
download | pleroma-c559c240d1a56f05fc70f69ae6b8c0809026fa2e.tar.gz |
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.
-rw-r--r-- | priv/repo/migrations/20220807125023_data_migration_delete_context_objects.exs | 15 |
1 files 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 new file mode 100644 index 000000000..debb474b2 --- /dev/null +++ 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 |