Ensure delete cascades on activity delete
This commit is contained in:
parent
0cfd5b4e89
commit
f69b4e8573
6 changed files with 56 additions and 0 deletions
|
@ -10,6 +10,7 @@ defmodule Pleroma.Object do
|
||||||
|
|
||||||
alias Pleroma.Activity
|
alias Pleroma.Activity
|
||||||
alias Pleroma.Config
|
alias Pleroma.Config
|
||||||
|
alias Pleroma.Delivery
|
||||||
alias Pleroma.Hashtag
|
alias Pleroma.Hashtag
|
||||||
alias Pleroma.Object
|
alias Pleroma.Object
|
||||||
alias Pleroma.Object.Fetcher
|
alias Pleroma.Object.Fetcher
|
||||||
|
@ -30,6 +31,7 @@ defmodule Pleroma.Object do
|
||||||
field(:data, :map)
|
field(:data, :map)
|
||||||
|
|
||||||
many_to_many(:hashtags, Hashtag, join_through: "hashtags_objects", on_replace: :delete)
|
many_to_many(:hashtags, Hashtag, join_through: "hashtags_objects", on_replace: :delete)
|
||||||
|
has_many(:deliveries, Delivery, on_delete: :delete_all)
|
||||||
|
|
||||||
timestamps()
|
timestamps()
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
defmodule Pleroma.Repo.Migrations.DeleteDeliveriesOnObjectDelete do
|
||||||
|
use Ecto.Migration
|
||||||
|
def up do
|
||||||
|
drop constraint(:deliveries, "deliveries_object_id_fkey")
|
||||||
|
alter table(:deliveries) do
|
||||||
|
modify :object_id, references(:objects, type: :id, on_delete: :delete_all), null: false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def down do
|
||||||
|
drop constraint(:deliveries, "deliveries_object_id_fkey")
|
||||||
|
alter table(:deliveries) do
|
||||||
|
modify :object_id, references(:objects, type: :id), null: false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,7 @@
|
||||||
|
defmodule Pleroma.Repo.Migrations.AddNotificationActivityIdIndex do
|
||||||
|
use Ecto.Migration
|
||||||
|
|
||||||
|
def change do
|
||||||
|
create(index(:notifications, [:activity_id]))
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,7 @@
|
||||||
|
defmodule Pleroma.Repo.Migrations.AddBookmarksActivityIdIndex do
|
||||||
|
use Ecto.Migration
|
||||||
|
|
||||||
|
def change do
|
||||||
|
create(index(:bookmarks, [:activity_id]))
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,7 @@
|
||||||
|
defmodule Pleroma.Repo.Migrations.AddReportNotesActivityIdIndex do
|
||||||
|
use Ecto.Migration
|
||||||
|
|
||||||
|
def change do
|
||||||
|
create(index(:report_notes, [:activity_id]))
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,17 @@
|
||||||
|
defmodule Pleroma.Repo.Migrations.AddCascadeToReportNotesOnActivityDelete do
|
||||||
|
use Ecto.Migration
|
||||||
|
|
||||||
|
def up do
|
||||||
|
drop constraint(:report_notes, "report_notes_activity_id_fkey")
|
||||||
|
alter table(:report_notes) do
|
||||||
|
modify :activity_id, references(:activities, type: :uuid, on_delete: :delete_all)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def down do
|
||||||
|
drop constraint(:report_notes, "report_notes_activity_id_fkey")
|
||||||
|
alter table(:report_notes) do
|
||||||
|
modify :activity_id, references(:activities, type: :uuid)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue