aboutsummaryrefslogtreecommitdiff
path: root/priv/repo/migrations/20240223165000_create_bookmark_folders.exs
diff options
context:
space:
mode:
authordcc <dcc@logografos.com>2024-05-15 00:57:23 -0700
committerdcc <dcc@logografos.com>2024-05-15 00:57:23 -0700
commitb31a934a804aed3f35442ceafe2080b0955e7317 (patch)
tree947b13a0388ecea81e05dd980baa10f7546860b9 /priv/repo/migrations/20240223165000_create_bookmark_folders.exs
parentea33a0d3427f8b30b82a6ddbc0ff7429cfaf8d91 (diff)
downloadanni-b31a934a804aed3f35442ceafe2080b0955e7317.tar.gz
anni-b31a934a804aed3f35442ceafe2080b0955e7317.tar.bz2
anni-b31a934a804aed3f35442ceafe2080b0955e7317.zip
total rebaseHEADmaster
Diffstat (limited to 'priv/repo/migrations/20240223165000_create_bookmark_folders.exs')
-rw-r--r--priv/repo/migrations/20240223165000_create_bookmark_folders.exs27
1 files changed, 27 insertions, 0 deletions
diff --git a/priv/repo/migrations/20240223165000_create_bookmark_folders.exs b/priv/repo/migrations/20240223165000_create_bookmark_folders.exs
new file mode 100644
index 0000000..0169169
--- /dev/null
+++ b/priv/repo/migrations/20240223165000_create_bookmark_folders.exs
@@ -0,0 +1,27 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2024 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Repo.Migrations.CreateBookmarkFolders do
+ use Ecto.Migration
+
+ def change do
+ create_if_not_exists table(:bookmark_folders, primary_key: false) do
+ add(:id, :uuid, primary_key: true)
+ add(:name, :string, null: false)
+ add(:emoji, :string)
+ add(:user_id, references(:users, type: :uuid, on_delete: :delete_all))
+
+ timestamps()
+ end
+
+ alter table(:bookmarks) do
+ add_if_not_exists(
+ :folder_id,
+ references(:bookmark_folders, type: :uuid, on_delete: :nilify_all)
+ )
+ end
+
+ create_if_not_exists(unique_index(:bookmark_folders, [:user_id, :name]))
+ end
+end