mobilizon/priv/repo/migrations/20180110092600_create_event...

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