Enforce user.notification_settings is NOT NULL
authorMark Felder <feld@feld.me>
Thu, 1 Apr 2021 15:01:31 +0000 (10:01 -0500)
committerMark Felder <feld@feld.me>
Thu, 1 Apr 2021 15:06:24 +0000 (10:06 -0500)
priv/repo/migrations/20210401143153_user_notification_settings_fix.exs [new file with mode: 0644]

diff --git a/priv/repo/migrations/20210401143153_user_notification_settings_fix.exs b/priv/repo/migrations/20210401143153_user_notification_settings_fix.exs
new file mode 100644 (file)
index 0000000..cf68f1b
--- /dev/null
@@ -0,0 +1,17 @@
+defmodule Pleroma.Repo.Migrations.UserNotificationSettingsFix do
+  use Ecto.Migration
+
+  def up do
+    execute(~s(UPDATE users
+    SET 
+      notification_settings = '{"followers": true, "follows": true, "non_follows": true, "non_followers": true}'::jsonb WHERE notification_settings IS NULL
+))
+
+    execute("ALTER TABLE users
+    ALTER COLUMN notification_settings SET NOT NULL")
+  end
+
+  def down do
+    :ok
+  end
+end