diff options
author | Alex Gleason <alex@alexgleason.me> | 2021-12-25 19:57:53 -0600 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2021-12-25 19:57:53 -0600 |
commit | db2bf55e9bb31af2ed34805ca7fa98ce67b471b1 (patch) | |
tree | f532711eaf19111e22375e87706edf5a3024e5b5 /lib/mix/tasks/pleroma/database.ex | |
parent | b15c4629ff3093353ac5e37d381db1cdc4da1c3a (diff) | |
parent | 73609211a425922a5068d3912a36b82abe24e12c (diff) | |
download | pleroma-db2bf55e9bb31af2ed34805ca7fa98ce67b471b1.tar.gz |
Merge remote-tracking branch 'origin/develop' into notice-routes
Diffstat (limited to 'lib/mix/tasks/pleroma/database.ex')
-rw-r--r-- | lib/mix/tasks/pleroma/database.ex | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/mix/tasks/pleroma/database.ex b/lib/mix/tasks/pleroma/database.ex index e7f4b67a4..a973beaa9 100644 --- a/lib/mix/tasks/pleroma/database.ex +++ b/lib/mix/tasks/pleroma/database.ex @@ -96,6 +96,15 @@ defmodule Mix.Tasks.Pleroma.Database do ) |> Repo.delete_all(timeout: :infinity) + prune_hashtags_query = """ + DELETE FROM hashtags AS ht + WHERE NOT EXISTS ( + SELECT 1 FROM hashtags_objects hto + WHERE ht.id = hto.hashtag_id) + """ + + Repo.query(prune_hashtags_query) + if Keyword.get(options, :vacuum) do Maintenance.vacuum("full") end @@ -200,7 +209,9 @@ defmodule Mix.Tasks.Pleroma.Database do new.fts_content := to_tsvector(new.data->>'content'); RETURN new; END - $$ LANGUAGE plpgsql" + $$ LANGUAGE plpgsql", + [], + timeout: :infinity ) shell_info("Refresh RUM index") @@ -210,7 +221,9 @@ defmodule Mix.Tasks.Pleroma.Database do Ecto.Adapters.SQL.query!( Pleroma.Repo, - "CREATE INDEX objects_fts ON objects USING gin(to_tsvector('#{tsconfig}', data->>'content')); " + "CREATE INDEX CONCURRENTLY objects_fts ON objects USING gin(to_tsvector('#{tsconfig}', data->>'content')); ", + [], + timeout: :infinity ) end |