25 lines
627 B
Elixir
25 lines
627 B
Elixir
defmodule Pleroma.Repo.Migrations.PopulateUserRawBio do
|
|
use Ecto.Migration
|
|
import Ecto.Query
|
|
alias Pleroma.User
|
|
alias Pleroma.Repo
|
|
|
|
def change do
|
|
{:ok, _} = Application.ensure_all_started(:fast_sanitize)
|
|
|
|
User.Query.build(%{local: true})
|
|
|> select([u], struct(u, [:id, :ap_id, :bio]))
|
|
|> Repo.stream()
|
|
|> Enum.each(fn %{bio: bio} = user ->
|
|
if bio do
|
|
raw_bio =
|
|
bio
|
|
|> String.replace(~r(<br */?>), "\n")
|
|
|> Pleroma.HTML.strip_tags()
|
|
|
|
Ecto.Changeset.cast(user, %{raw_bio: raw_bio}, [:raw_bio])
|
|
|> Repo.update()
|
|
end
|
|
end)
|
|
end
|
|
end
|