aboutsummaryrefslogtreecommitdiff
path: root/priv
diff options
context:
space:
mode:
authorkaniini <ariadne@dereferenced.org>2019-07-11 13:01:11 +0000
committerkaniini <ariadne@dereferenced.org>2019-07-11 13:01:11 +0000
commite4e3fd7e5552db274655d58bbbec1e4faabf7ccd (patch)
tree744524f1eac36a5c6d3b0cfb0aa121e920c86dbc /priv
parent6c491b2006ef2f279e6ffbb4ac007b7740c6d50d (diff)
parent59e16fc45a2fe1fa6bfeaecaa35f485b8a34bb6d (diff)
downloadpleroma-e4e3fd7e5552db274655d58bbbec1e4faabf7ccd.tar.gz
Merge branch 'fix/1019-refactor' into 'develop'
Fix/1019 refactor See merge request pleroma/pleroma!1397
Diffstat (limited to 'priv')
-rw-r--r--priv/repo/migrations/20190710115833_add_following_address_to_user.exs9
-rw-r--r--priv/repo/migrations/20190710125051_add_following_address_index_to_user.exs8
-rw-r--r--priv/repo/migrations/20190710125158_add_following_address_from_source_data.exs20
3 files changed, 37 insertions, 0 deletions
diff --git a/priv/repo/migrations/20190710115833_add_following_address_to_user.exs b/priv/repo/migrations/20190710115833_add_following_address_to_user.exs
new file mode 100644
index 000000000..fe30472a1
--- /dev/null
+++ b/priv/repo/migrations/20190710115833_add_following_address_to_user.exs
@@ -0,0 +1,9 @@
+defmodule Pleroma.Repo.Migrations.AddFollowingAddressToUser do
+ use Ecto.Migration
+
+ def change do
+ alter table(:users) do
+ add(:following_address, :string, unique: true)
+ end
+ end
+end
diff --git a/priv/repo/migrations/20190710125051_add_following_address_index_to_user.exs b/priv/repo/migrations/20190710125051_add_following_address_index_to_user.exs
new file mode 100644
index 000000000..0cbfb71f4
--- /dev/null
+++ b/priv/repo/migrations/20190710125051_add_following_address_index_to_user.exs
@@ -0,0 +1,8 @@
+defmodule Pleroma.Repo.Migrations.AddFollowingAddressIndexToUser do
+ use Ecto.Migration
+
+ @disable_ddl_transaction true
+ def change do
+ create(index(:users, [:following_address], concurrently: true))
+ end
+end
diff --git a/priv/repo/migrations/20190710125158_add_following_address_from_source_data.exs b/priv/repo/migrations/20190710125158_add_following_address_from_source_data.exs
new file mode 100644
index 000000000..779aa382e
--- /dev/null
+++ b/priv/repo/migrations/20190710125158_add_following_address_from_source_data.exs
@@ -0,0 +1,20 @@
+defmodule Pleroma.Repo.Migrations.AddFollowingAddressFromSourceData do
+ use Ecto.Migration
+ import Ecto.Query
+ alias Pleroma.User
+
+ def change do
+ query =
+ User.external_users_query()
+ |> select([u], struct(u, [:id, :ap_id, :info]))
+
+ Pleroma.Repo.stream(query)
+ |> Enum.each(fn
+ %{info: %{source_data: source_data}} = user ->
+ Ecto.Changeset.cast(user, %{following_address: source_data["following"]}, [
+ :following_address
+ ])
+ |> Pleroma.Repo.update()
+ end)
+ end
+end