27 lines
770 B
Elixir
27 lines
770 B
Elixir
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
|