From 396c32a6da5d028675b2d3c4154ac9045596ad31 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Wed, 19 Jul 2017 18:49:25 +0200 Subject: Add follower_address to users, add on generation. --- ...20170719152213_add_follower_address_to_user.exs | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 priv/repo/migrations/20170719152213_add_follower_address_to_user.exs (limited to 'priv') diff --git a/priv/repo/migrations/20170719152213_add_follower_address_to_user.exs b/priv/repo/migrations/20170719152213_add_follower_address_to_user.exs new file mode 100644 index 000000000..bd3c93bd5 --- /dev/null +++ b/priv/repo/migrations/20170719152213_add_follower_address_to_user.exs @@ -0,0 +1,33 @@ +defmodule Pleroma.Repo.Migrations.AddFollowerAddressToUser do + use Ecto.Migration + import Ecto.Query + import Supervisor.Spec + alias Pleroma.{Repo, User} + + def up do + alter table(:users) do + add :follower_address, :string, unique: true + end + flush() + + children = [ + # Start the endpoint when the application starts + supervisor(Pleroma.Web.Endpoint, []) + ] + opts = [strategy: :one_for_one, name: Pleroma.Supervisor] + Supervisor.start_link(children, opts) + + Enum.each(Repo.all(User), fn (user) -> + if !user.follower_address do + cs = Ecto.Changeset.change(user, %{follower_address: User.ap_followers(user)}) + Repo.update!(cs) + end + end) + end + + def down do + alter table(:users) do + remove :follower_address + end + end +end -- cgit v1.2.3