logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 292031f6dd809accbcb3a5ba59d0100d807c5d72
parent: 499d9405d502474f6ab42437d436561ea63920aa
Author: Haelwenn <contact+git.pleroma.social@hacktivis.me>
Date:   Thu, 20 Feb 2020 23:53:52 +0000

Merge branch 'migration-fixes-20' into 'develop'

Migrations: Make them not fail for old databases

See merge request pleroma/pleroma!2227

Diffstat:

Mpriv/repo/migrations/20190414125034_migrate_old_bookmarks.exs6+++++-
Mpriv/repo/migrations/20190710125158_add_following_address_from_source_data.exs8++++++--
Mpriv/repo/migrations/20190711042024_copy_muted_to_muted_notifications.exs2++
3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs b/priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs @@ -17,7 +17,11 @@ defmodule Pleroma.Repo.Migrations.MigrateOldBookmarks do Repo.stream(query) |> Enum.each(fn %{id: user_id, bookmarks: bookmarks} -> Enum.each(bookmarks, fn ap_id -> - activity = Activity.get_create_by_object_ap_id(ap_id) + activity = + ap_id + |> Activity.create_by_object_ap_id() + |> Repo.one() + unless is_nil(activity), do: {:ok, _} = Bookmark.create(user_id, activity.id) end) end) diff --git a/priv/repo/migrations/20190710125158_add_following_address_from_source_data.exs b/priv/repo/migrations/20190710125158_add_following_address_from_source_data.exs @@ -1,7 +1,8 @@ defmodule Pleroma.Repo.Migrations.AddFollowingAddressFromSourceData do - use Ecto.Migration - import Ecto.Query alias Pleroma.User + import Ecto.Query + require Logger + use Ecto.Migration def change do query = @@ -19,6 +20,9 @@ defmodule Pleroma.Repo.Migrations.AddFollowingAddressFromSourceData do :following_address ]) |> Pleroma.Repo.update() + + user -> + Logger.warn("User #{user.id} / #{user.nickname} does not seem to have source_data") end) end end diff --git a/priv/repo/migrations/20190711042024_copy_muted_to_muted_notifications.exs b/priv/repo/migrations/20190711042024_copy_muted_to_muted_notifications.exs @@ -2,6 +2,8 @@ defmodule Pleroma.Repo.Migrations.CopyMutedToMutedNotifications do use Ecto.Migration def change do + execute("update users set info = '{}' where info is null") + execute( "update users set info = safe_jsonb_set(info, '{muted_notifications}', info->'mutes', true) where local = true" )