forked from AkkomaGang/akkoma
Fix user upgrading code.
This commit is contained in:
parent
1331a39d39
commit
efd4d04933
1 changed files with 8 additions and 5 deletions
|
@ -209,15 +209,18 @@ def upgrade_user_from_ap_id(ap_id) do
|
|||
|
||||
# This could potentially take a long time, do it in the background
|
||||
Task.start(fn ->
|
||||
q = from a in Activity,
|
||||
where: ^old_follower_address in a.recipients,
|
||||
update: [set: [recipients: fragment("array_replace(?,?,?)", a.recipients, ^old_follower_address, ^user.follower_address)]]
|
||||
Repo.update_all(q, [])
|
||||
|
||||
q = from u in User,
|
||||
where: ^old_follower_address in u.following,
|
||||
update: [set: [following: fragment("array_replace(?,?,?)", u.following, ^old_follower_address, ^user.follower_address)]]
|
||||
Repo.update_all(q, [])
|
||||
|
||||
# Only do this for recent activties, don't go through the whole db.
|
||||
since = (Repo.aggregate(Activity, :max, :id) || 0) - 100_000
|
||||
q = from a in Activity,
|
||||
where: ^old_follower_address in a.recipients,
|
||||
where: a.id > ^since,
|
||||
update: [set: [recipients: fragment("array_replace(?,?,?)", a.recipients, ^old_follower_address, ^user.follower_address)]]
|
||||
Repo.update_all(q, [])
|
||||
end)
|
||||
|
||||
{:ok, user}
|
||||
|
|
Loading…
Reference in a new issue