30 lines
1.0 KiB
Elixir
30 lines
1.0 KiB
Elixir
defmodule Mobilizon.Repo.Migrations.CreateEvents do
|
|
use Ecto.Migration
|
|
|
|
def change do
|
|
create table(:events) do
|
|
add(:title, :string, null: false)
|
|
add(:slug, :string, null: false)
|
|
add(:description, :string, null: true)
|
|
add(:begins_on, :datetimetz)
|
|
add(:ends_on, :datetimetz)
|
|
add(:state, :integer, null: false)
|
|
add(:public, :boolean, null: false)
|
|
add(:status, :integer, null: false)
|
|
add(:large_image, :string)
|
|
add(:thumbnail, :string)
|
|
add(:publish_at, :datetimetz)
|
|
add(:organizer_account_id, references(:accounts, on_delete: :nothing))
|
|
add(:organizer_group_id, references(:groups, on_delete: :nothing))
|
|
add(:category_id, references(:categories, on_delete: :nothing), null: false)
|
|
add(:address_id, references(:addresses, on_delete: :delete_all))
|
|
|
|
timestamps()
|
|
end
|
|
|
|
create(index(:events, [:organizer_account_id]))
|
|
create(index(:events, [:organizer_group_id]))
|
|
create(unique_index(:events, [:slug]))
|
|
end
|
|
end
|