diff options
author | Mark Felder <feld@FreeBSD.org> | 2020-05-28 15:34:11 -0500 |
---|---|---|
committer | Mark Felder <feld@FreeBSD.org> | 2020-05-28 15:34:11 -0500 |
commit | d4b20c96c4030ebb5eb908dc6efcf45be7a8355d (patch) | |
tree | f9d98d63b0ce4e6322164d388a7b1d61890236d2 | |
parent | 4c82f657c5aaba6aacbc8ef927c1727509195839 (diff) | |
download | pleroma-d4b20c96c4030ebb5eb908dc6efcf45be7a8355d.tar.gz |
Migrate old notification settings to new variants
-rw-r--r-- | priv/repo/migrations/20200528160439_users_update_notification_settings.exs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/priv/repo/migrations/20200528160439_users_update_notification_settings.exs b/priv/repo/migrations/20200528160439_users_update_notification_settings.exs new file mode 100644 index 000000000..561f7a2c4 --- /dev/null +++ b/priv/repo/migrations/20200528160439_users_update_notification_settings.exs @@ -0,0 +1,43 @@ +defmodule Pleroma.Repo.Migrations.UsersUpdateNotificationSettings do + use Ecto.Migration + + def up do + execute( + "UPDATE users SET notification_settings = notification_settings - 'followers' || jsonb_build_object('from_followers', notification_settings->'followers') +where notification_settings ? 'followers' +and local" + ) + + execute( + "UPDATE users SET notification_settings = notification_settings - 'follows' || jsonb_build_object('from_following', notification_settings->'follows') +where notification_settings ? 'follows' +and local" + ) + + execute( + "UPDATE users SET notification_settings = notification_settings - 'non_followers' || jsonb_build_object('from_strangers', notification_settings->'non_followers') +where notification_settings ? 'non_followers' +and local" + ) + end + + def down do + execute( + "UPDATE users SET notification_settings = notification_settings - 'from_followers' || jsonb_build_object('followers', notification_settings->'from_followers') +where notification_settings ? 'from_followers' +and local" + ) + + execute( + "UPDATE users SET notification_settings = notification_settings - 'from_following' || jsonb_build_object('follows', notification_settings->'from_following') +where notification_settings ? 'from_following' +and local" + ) + + execute( + "UPDATE users SET notification_settings = notification_settings - 'from_strangers' || jsonb_build_object('non_follows', notification_settings->'from_strangers') +where notification_settings ? 'from_strangers' +and local" + ) + end +end |