projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixing up deletes a bit (#327)
[akkoma]
/
lib
/
mix
/
tasks
/
pleroma
/
database.ex
diff --git
a/lib/mix/tasks/pleroma/database.ex
b/lib/mix/tasks/pleroma/database.ex
index e7f4b67a463d5b8b1dd540901b0db47e853d0a3b..0881974eebba8a4e07423e193fc082fd981c20b7 100644
(file)
--- a/
lib/mix/tasks/pleroma/database.ex
+++ b/
lib/mix/tasks/pleroma/database.ex
@@
-18,7
+18,7
@@
defmodule Mix.Tasks.Pleroma.Database do
use Mix.Task
@shortdoc "A collection of database related tasks"
use Mix.Task
@shortdoc "A collection of database related tasks"
- @moduledoc File.read!("docs/administration/CLI_tasks/database.md")
+ @moduledoc File.read!("docs/
docs/
administration/CLI_tasks/database.md")
def run(["remove_embedded_objects" | args]) do
{options, [], []} =
def run(["remove_embedded_objects" | args]) do
{options, [], []} =
@@
-96,11
+96,28
@@
defmodule Mix.Tasks.Pleroma.Database do
)
|> Repo.delete_all(timeout: :infinity)
)
|> 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
end
if Keyword.get(options, :vacuum) do
Maintenance.vacuum("full")
end
end
+ def run(["prune_task"]) do
+ start_pleroma()
+
+ nil
+ |> Pleroma.Workers.Cron.PruneDatabaseWorker.perform()
+ |> IO.inspect()
+ end
+
def run(["fix_likes_collections"]) do
start_pleroma()
def run(["fix_likes_collections"]) do
start_pleroma()
@@
-200,7
+217,9
@@
defmodule Mix.Tasks.Pleroma.Database do
new.fts_content := to_tsvector(new.data->>'content');
RETURN new;
END
new.fts_content := to_tsvector(new.data->>'content');
RETURN new;
END
- $$ LANGUAGE plpgsql"
+ $$ LANGUAGE plpgsql",
+ [],
+ timeout: :infinity
)
shell_info("Refresh RUM index")
)
shell_info("Refresh RUM index")
@@
-210,7
+229,9
@@
defmodule Mix.Tasks.Pleroma.Database do
Ecto.Adapters.SQL.query!(
Pleroma.Repo,
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
)
end