aboutsummaryrefslogtreecommitdiff
path: root/priv/repo/migrations/20190213185503_change_apps_scopes_to_varchar_array.exs
diff options
context:
space:
mode:
Diffstat (limited to 'priv/repo/migrations/20190213185503_change_apps_scopes_to_varchar_array.exs')
-rw-r--r--priv/repo/migrations/20190213185503_change_apps_scopes_to_varchar_array.exs27
1 files changed, 27 insertions, 0 deletions
diff --git a/priv/repo/migrations/20190213185503_change_apps_scopes_to_varchar_array.exs b/priv/repo/migrations/20190213185503_change_apps_scopes_to_varchar_array.exs
new file mode 100644
index 0000000..15a0192
--- /dev/null
+++ b/priv/repo/migrations/20190213185503_change_apps_scopes_to_varchar_array.exs
@@ -0,0 +1,27 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Repo.Migrations.ChangeAppsScopesToVarcharArray do
+ use Ecto.Migration
+
+ @alter_apps_scopes "ALTER TABLE apps ALTER COLUMN scopes"
+
+ def up do
+ execute(
+ "#{@alter_apps_scopes} TYPE varchar(255)[] USING string_to_array(scopes, ',')::varchar(255)[];"
+ )
+
+ execute("#{@alter_apps_scopes} SET DEFAULT ARRAY[]::character varying[];")
+ execute("#{@alter_apps_scopes} SET NOT NULL;")
+ end
+
+ def down do
+ execute("#{@alter_apps_scopes} DROP NOT NULL;")
+ execute("#{@alter_apps_scopes} DROP DEFAULT;")
+
+ execute(
+ "#{@alter_apps_scopes} TYPE varchar(255) USING array_to_string(scopes, ',')::varchar(255);"
+ )
+ end
+end