projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Change user.discoverable field to user.is_discoverable
[akkoma]
/
lib
/
mix
/
tasks
/
pleroma
/
database.ex
diff --git
a/lib/mix/tasks/pleroma/database.ex
b/lib/mix/tasks/pleroma/database.ex
index 7d8f00b089b50f6d2dc686a6865a8eec72a38ff1..a01c36ece30754ada443c22dffc5e3d29b9f73cf 100644
(file)
--- a/
lib/mix/tasks/pleroma/database.ex
+++ b/
lib/mix/tasks/pleroma/database.ex
@@
-99,7
+99,7
@@
defmodule Mix.Tasks.Pleroma.Database do
where: fragment("(?)->>'likes' is not null", object.data),
select: %{id: object.id, likes: fragment("(?)->>'likes'", object.data)}
)
where: fragment("(?)->>'likes' is not null", object.data),
select: %{id: object.id, likes: fragment("(?)->>'likes'", object.data)}
)
- |> Pleroma.Repo
Streamer.chunk_stream(100
)
+ |> Pleroma.Repo
.chunk_stream(100, :batches
)
|> Stream.each(fn objects ->
ids =
objects
|> Stream.each(fn objects ->
ids =
objects
@@
-133,8
+133,7
@@
defmodule Mix.Tasks.Pleroma.Database do
days = Pleroma.Config.get([:mrf_activity_expiration, :days], 365)
Pleroma.Activity
days = Pleroma.Config.get([:mrf_activity_expiration, :days], 365)
Pleroma.Activity
- |> join(:left, [a], u in assoc(a, :expiration))
- |> join(:inner, [a, _u], o in Object,
+ |> join(:inner, [a], o in Object,
on:
fragment(
"(?->>'id') = COALESCE((?)->'object'->> 'id', (?)->>'object')",
on:
fragment(
"(?->>'id') = COALESCE((?)->'object'->> 'id', (?)->>'object')",
@@
-144,14
+143,20
@@
defmodule Mix.Tasks.Pleroma.Database do
)
)
|> where(local: true)
)
)
|> where(local: true)
- |> where([a, u], is_nil(u))
|> where([a], fragment("(? ->> 'type'::text) = 'Create'", a.data))
|> where([a], fragment("(? ->> 'type'::text) = 'Create'", a.data))
- |> where([_a,
_u,
o], fragment("?->>'type' = 'Note'", o.data))
- |> Pleroma.Repo
Streamer.chunk_stream(100
)
+ |> where([_a, o], fragment("?->>'type' = 'Note'", o.data))
+ |> Pleroma.Repo
.chunk_stream(100, :batches
)
|> Stream.each(fn activities ->
Enum.each(activities, fn activity ->
|> Stream.each(fn activities ->
Enum.each(activities, fn activity ->
- expires_at = Timex.shift(activity.inserted_at, days: days)
- Pleroma.ActivityExpiration.create(activity, expires_at, false)
+ expires_at =
+ activity.inserted_at
+ |> DateTime.from_naive!("Etc/UTC")
+ |> Timex.shift(days: days)
+
+ Pleroma.Workers.PurgeExpiredActivity.enqueue(%{
+ activity_id: activity.id,
+ expires_at: expires_at
+ })
end)
end)
|> Stream.run()
end)
end)
|> Stream.run()