akkoma/priv/repo/migrations/20170719152213_add_follower_address_to_user.exs

33 lines
801 B
Elixir

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