Commit b553bfd7 authored by feld's avatar feld
Browse files

Merge branch 'fix/prune-hashtags' into 'develop'

get prune_objects to work again

See merge request !3397
parents 676c3c96 9a357d63
Pipeline #36428 passed with stages
in 90 minutes and 47 seconds
......@@ -25,6 +25,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### Fixed
- Don't crash so hard when email settings are invalid.
- Checking activated Upload Filters for required commands.
- Mix task `pleroma.database prune_objects`
### Removed
- **Breaking**: Remove deprecated `/api/qvitter/statuses/notifications/read` (replaced by `/api/v1/pleroma/notifications/read`)
......
......@@ -96,6 +96,15 @@ def run(["prune_objects" | args]) 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
......
defmodule Pleroma.Repo.Migrations.DeleteHashtagsObjectsCascade do
use Ecto.Migration
def up do
execute("ALTER TABLE hashtags_objects DROP CONSTRAINT hashtags_objects_object_id_fkey")
alter table(:hashtags_objects) do
modify(:object_id, references(:objects, on_delete: :delete_all))
end
end
def down do
execute("ALTER TABLE hashtags_objects DROP CONSTRAINT hashtags_objects_object_id_fkey")
alter table(:hashtags_objects) do
modify(:object_id, references(:objects, on_delete: :nothing))
end
end
end
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment