First
[anni] / priv / repo / migrations / 20220308012601_create_announcements.exs
1 defmodule Pleroma.Repo.Migrations.CreateAnnouncements do
2   use Ecto.Migration
3
4   def change do
5     create_if_not_exists table(:announcements, primary_key: false) do
6       add(:id, :uuid, primary_key: true)
7       add(:data, :map)
8       add(:starts_at, :naive_datetime)
9       add(:ends_at, :naive_datetime)
10       add(:rendered, :map)
11
12       timestamps()
13     end
14
15     create_if_not_exists table(:announcement_read_relationships) do
16       add(:user_id, references(:users, type: :uuid, on_delete: :delete_all))
17       add(:announcement_id, references(:announcements, type: :uuid, on_delete: :delete_all))
18
19       timestamps(updated_at: false)
20     end
21
22     create_if_not_exists(
23       unique_index(:announcement_read_relationships, [:user_id, :announcement_id])
24     )
25   end
26 end