aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Felder <feld@FreeBSD.org>2020-05-28 15:34:11 -0500
committerMark Felder <feld@FreeBSD.org>2020-05-28 15:34:11 -0500
commitd4b20c96c4030ebb5eb908dc6efcf45be7a8355d (patch)
treef9d98d63b0ce4e6322164d388a7b1d61890236d2
parent4c82f657c5aaba6aacbc8ef927c1727509195839 (diff)
downloadpleroma-d4b20c96c4030ebb5eb908dc6efcf45be7a8355d.tar.gz
Migrate old notification settings to new variants
-rw-r--r--priv/repo/migrations/20200528160439_users_update_notification_settings.exs43
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