diff options
author | Roger Braun <roger@rogerbraun.net> | 2017-07-19 18:49:25 +0200 |
---|---|---|
committer | Roger Braun <roger@rogerbraun.net> | 2017-07-19 18:49:25 +0200 |
commit | 396c32a6da5d028675b2d3c4154ac9045596ad31 (patch) | |
tree | eacae658f60d8d1b721f7f22abb63a4780ffcf23 /priv/repo/migrations/20170719152213_add_follower_address_to_user.exs | |
parent | 7e9647b146a6b48ed32383f8379db5bf2a22277c (diff) | |
download | pleroma-396c32a6da5d028675b2d3c4154ac9045596ad31.tar.gz pleroma-396c32a6da5d028675b2d3c4154ac9045596ad31.zip |
Add follower_address to users, add on generation.
Diffstat (limited to 'priv/repo/migrations/20170719152213_add_follower_address_to_user.exs')
-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 |