summaryrefslogtreecommitdiff
path: root/priv/repo
diff options
context:
space:
mode:
Diffstat (limited to 'priv/repo')
-rw-r--r--priv/repo/migrations/20240527144418_oban_queues_refactor.exs32
-rw-r--r--priv/repo/migrations/20240530011739_add_missing_foreign_keys.exs20
2 files changed, 52 insertions, 0 deletions
diff --git a/priv/repo/migrations/20240527144418_oban_queues_refactor.exs b/priv/repo/migrations/20240527144418_oban_queues_refactor.exs
new file mode 100644
index 000000000..64ee28dfd
--- /dev/null
+++ b/priv/repo/migrations/20240527144418_oban_queues_refactor.exs
@@ -0,0 +1,32 @@
+defmodule Pleroma.Repo.Migrations.ObanQueuesRefactor do
+ use Ecto.Migration
+
+ @changed_queues [
+ {"attachments_cleanup", "slow"},
+ {"mailer", "background"},
+ {"mute_expire", "background"},
+ {"poll_notifications", "background"},
+ {"activity_expiration", "slow"},
+ {"filter_expiration", "background"},
+ {"token_expiration", "background"},
+ {"remote_fetcher", "background"},
+ {"rich_media_expiration", "background"}
+ ]
+
+ def up do
+ Enum.each(@changed_queues, fn {old, new} ->
+ execute("UPDATE oban_jobs SET queue = '#{new}' WHERE queue = '#{old}';")
+ end)
+
+ # Handled special as reverting this would not be ideal and leaving it is harmless
+ execute(
+ "UPDATE oban_jobs SET queue = 'federator_outgoing' WHERE queue = 'scheduled_activities';"
+ )
+ end
+
+ def down do
+ # Just move all slow queue jobs to background queue if we are reverting
+ # as the slow queue will not be processing jobs
+ execute("UPDATE oban_jobs SET queue = 'background' WHERE queue = 'slow';")
+ end
+end
diff --git a/priv/repo/migrations/20240530011739_add_missing_foreign_keys.exs b/priv/repo/migrations/20240530011739_add_missing_foreign_keys.exs
new file mode 100644
index 000000000..158f9701b
--- /dev/null
+++ b/priv/repo/migrations/20240530011739_add_missing_foreign_keys.exs
@@ -0,0 +1,20 @@
+defmodule Pleroma.Repo.Migrations.AddMissingForeignKeys do
+ use Ecto.Migration
+
+ def change do
+ create_if_not_exists(index(:announcement_read_relationships, :announcement_id))
+ create_if_not_exists(index(:bookmarks, :activity_id))
+ create_if_not_exists(index(:bookmarks, :folder_id))
+ create_if_not_exists(index(:chats, :recipient))
+ create_if_not_exists(index(:mfa_tokens, :authorization_id))
+ create_if_not_exists(index(:mfa_tokens, :user_id))
+ create_if_not_exists(index(:notifications, :activity_id))
+ create_if_not_exists(index(:oauth_authorizations, :app_id))
+ create_if_not_exists(index(:oauth_authorizations, :user_id))
+ create_if_not_exists(index(:password_reset_tokens, :user_id))
+ create_if_not_exists(index(:push_subscriptions, :token_id))
+ create_if_not_exists(index(:report_notes, :activity_id))
+ create_if_not_exists(index(:report_notes, :user_id))
+ create_if_not_exists(index(:user_notes, :target_id))
+ end
+end