Merge branch 'from/upstream-develop/tusooa/server-announcements' into 'develop' ...
[akkoma] / priv / repo / migrations / 20220308012601_create_announcements.exs
diff --git a/priv/repo/migrations/20220308012601_create_announcements.exs b/priv/repo/migrations/20220308012601_create_announcements.exs
new file mode 100644 (file)
index 0000000..01c9ce0
--- /dev/null
@@ -0,0 +1,26 @@
+defmodule Pleroma.Repo.Migrations.CreateAnnouncements do
+  use Ecto.Migration
+
+  def change do
+    create_if_not_exists table(:announcements, primary_key: false) do
+      add(:id, :uuid, primary_key: true)
+      add(:data, :map)
+      add(:starts_at, :naive_datetime)
+      add(:ends_at, :naive_datetime)
+      add(:rendered, :map)
+
+      timestamps()
+    end
+
+    create_if_not_exists table(:announcement_read_relationships) do
+      add(:user_id, references(:users, type: :uuid, on_delete: :delete_all))
+      add(:announcement_id, references(:announcements, type: :uuid, on_delete: :delete_all))
+
+      timestamps(updated_at: false)
+    end
+
+    create_if_not_exists(
+      unique_index(:announcement_read_relationships, [:user_id, :announcement_id])
+    )
+  end
+end