20230422154018_drop_unused_indexes.exs (1841B)
- defmodule Pleroma.Repo.Migrations.DropUnusedIndexes do
- use Ecto.Migration
- @disable_ddl_transaction true
- @disable_migration_lock true
- def up do
- drop_if_exists(
- index(:activities, ["(data->>'actor')", "inserted_at desc"], name: :activities_actor_index)
- )
- drop_if_exists(index(:activities, ["(data->'to')"], name: :activities_to_index))
- drop_if_exists(index(:activities, ["(data->'cc')"], name: :activities_cc_index))
- drop_if_exists(index(:activities, ["(split_part(actor, '/', 3))"], name: :activities_hosts))
- drop_if_exists(
- index(:activities, ["(data->'object'->>'inReplyTo')"], name: :activities_in_reply_to)
- )
- drop_if_exists(
- index(:activities, ["((data #> '{\"object\",\"likes\"}'))"], name: :activities_likes)
- )
- end
- def down do
- create_if_not_exists(
- index(:activities, ["(data->>'actor')", "inserted_at desc"],
- name: :activities_actor_index,
- concurrently: true
- )
- )
- create_if_not_exists(
- index(:activities, ["(data->'to')"],
- name: :activities_to_index,
- using: :gin,
- concurrently: true
- )
- )
- create_if_not_exists(
- index(:activities, ["(data->'cc')"],
- name: :activities_cc_index,
- using: :gin,
- concurrently: true
- )
- )
- create_if_not_exists(
- index(:activities, ["(split_part(actor, '/', 3))"],
- name: :activities_hosts,
- concurrently: true
- )
- )
- create_if_not_exists(
- index(:activities, ["(data->'object'->>'inReplyTo')"],
- name: :activities_in_reply_to,
- concurrently: true
- )
- )
- create_if_not_exists(
- index(:activities, ["((data #> '{\"object\",\"likes\"}'))"],
- name: :activities_likes,
- using: :gin,
- concurrently: true
- )
- )
- end
- end