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.
This commit is contained in:
Hélène 2022-08-07 20:41:24 +02:00
parent def0f5dc2e
commit c559c240d1
No known key found for this signature in database
GPG Key ID: A215F2E9F1589D62
1 changed files with 15 additions and 0 deletions

View File

@ -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