diff options
Diffstat (limited to 'priv')
-rw-r--r-- | priv/repo/migrations/20170719152213_add_follower_address_to_user.exs | 33 |
1 files changed, 33 insertions, 0 deletions
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 |