Merge branch 'fix/prune-hashtags' into 'develop'
get prune_objects to work again See merge request pleroma/pleroma!3397
This commit is contained in:
commit
b553bfd745
|
@ -25,6 +25,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
### Fixed
|
### Fixed
|
||||||
- Don't crash so hard when email settings are invalid.
|
- Don't crash so hard when email settings are invalid.
|
||||||
- Checking activated Upload Filters for required commands.
|
- Checking activated Upload Filters for required commands.
|
||||||
|
- Mix task `pleroma.database prune_objects`
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
- **Breaking**: Remove deprecated `/api/qvitter/statuses/notifications/read` (replaced by `/api/v1/pleroma/notifications/read`)
|
- **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)
|
|> 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
|
if Keyword.get(options, :vacuum) do
|
||||||
Maintenance.vacuum("full")
|
Maintenance.vacuum("full")
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
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
|
Loading…
Reference in a new issue