Merge branch 'develop' into feature/store-statuses-data-inside-flag
[akkoma] / priv / repo / migrations / 20190710125158_add_following_address_from_source_data.exs
1 defmodule Pleroma.Repo.Migrations.AddFollowingAddressFromSourceData do
2 use Ecto.Migration
3 import Ecto.Query
4 alias Pleroma.User
5
6 def change do
7 query =
8 User.Query.build(%{
9 external: true,
10 legacy_active: true,
11 order_by: :id
12 })
13 |> select([u], struct(u, [:id, :ap_id, :info]))
14
15 Pleroma.Repo.stream(query)
16 |> Enum.each(fn
17 %{info: %{source_data: source_data}} = user ->
18 Ecto.Changeset.cast(user, %{following_address: source_data["following"]}, [
19 :following_address
20 ])
21 |> Pleroma.Repo.update()
22 end)
23 end
24 end