24 lines
667 B
Elixir
24 lines
667 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)
|
||
|
|
||
|
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
|