Refactoring of Events context
This commit is contained in:
@@ -2,20 +2,20 @@ defmodule Mobilizon.Repo.Migrations.FixEventVisibility do
|
||||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
Mobilizon.Events.EventVisibilityEnum.create_type()
|
||||
Mobilizon.Events.EventStatusEnum.create_type()
|
||||
Mobilizon.Events.CommentVisibilityEnum.create_type()
|
||||
Mobilizon.Events.EventVisibility.create_type()
|
||||
Mobilizon.Events.EventStatus.create_type()
|
||||
Mobilizon.Events.CommentVisibility.create_type()
|
||||
|
||||
alter table(:events) do
|
||||
remove(:public)
|
||||
remove(:status)
|
||||
remove(:state)
|
||||
add(:visibility, Mobilizon.Events.EventVisibilityEnum.type())
|
||||
add(:status, Mobilizon.Events.EventStatusEnum.type())
|
||||
add(:visibility, Mobilizon.Events.EventVisibility.type())
|
||||
add(:status, Mobilizon.Events.EventStatus.type())
|
||||
end
|
||||
|
||||
alter table(:comments) do
|
||||
add(:visibility, Mobilizon.Events.CommentVisibilityEnum.type())
|
||||
add(:visibility, Mobilizon.Events.CommentVisibility.type())
|
||||
end
|
||||
end
|
||||
|
||||
@@ -32,8 +32,8 @@ defmodule Mobilizon.Repo.Migrations.FixEventVisibility do
|
||||
remove(:visibility)
|
||||
end
|
||||
|
||||
Mobilizon.Events.EventVisibilityEnum.drop_type()
|
||||
Mobilizon.Events.EventStatusEnum.drop_type()
|
||||
Mobilizon.Events.CommentVisibilityEnum.drop_type()
|
||||
Mobilizon.Events.EventVisibility.drop_type()
|
||||
Mobilizon.Events.EventStatus.drop_type()
|
||||
Mobilizon.Events.CommentVisibility.drop_type()
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
defmodule Mobilizon.Repo.Migrations.SplitEventVisibilityAndJoinOptions do
|
||||
use Ecto.Migration
|
||||
alias Mobilizon.Events.EventVisibilityEnum
|
||||
alias Mobilizon.Events.JoinOptionsEnum
|
||||
alias Mobilizon.Events.EventVisibility
|
||||
alias Mobilizon.Events.JoinOptions
|
||||
|
||||
@doc """
|
||||
EventVisibilityEnum has dropped some possible values, so we need to recreate it
|
||||
EventVisibility has dropped some possible values, so we need to recreate it
|
||||
|
||||
Visibility allowed nullable values previously
|
||||
"""
|
||||
def up do
|
||||
execute("ALTER TABLE events ALTER COLUMN visibility TYPE VARCHAR USING visibility::text")
|
||||
EventVisibilityEnum.drop_type()
|
||||
EventVisibilityEnum.create_type()
|
||||
EventVisibility.drop_type()
|
||||
EventVisibility.create_type()
|
||||
|
||||
execute(
|
||||
"ALTER TABLE events ALTER COLUMN visibility TYPE event_visibility_type USING visibility::event_visibility_type"
|
||||
"ALTER TABLE events ALTER COLUMN visibility TYPE event_visibility_type USING visibility::event_visibility"
|
||||
)
|
||||
|
||||
JoinOptionsEnum.create_type()
|
||||
JoinOptions.create_type()
|
||||
|
||||
alter table(:events) do
|
||||
add(:join_options, JoinOptionsEnum.type(), null: false, default: "free")
|
||||
add(:join_options, JoinOptions.type(), null: false, default: "free")
|
||||
end
|
||||
|
||||
execute("UPDATE events SET visibility = 'public' WHERE visibility IS NULL")
|
||||
|
||||
alter table(:events) do
|
||||
modify(:visibility, EventVisibilityEnum.type(), null: false, default: "public")
|
||||
modify(:visibility, EventVisibility.type(), null: false, default: "public")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -35,14 +35,14 @@ defmodule Mobilizon.Repo.Migrations.SplitEventVisibilityAndJoinOptions do
|
||||
remove(:join_options)
|
||||
end
|
||||
|
||||
JoinOptionsEnum.drop_type()
|
||||
JoinOptions.drop_type()
|
||||
|
||||
execute("ALTER TABLE events ALTER COLUMN visibility TYPE VARCHAR USING visibility::text")
|
||||
EventVisibilityEnum.drop_type()
|
||||
EventVisibilityEnum.create_type()
|
||||
EventVisibility.drop_type()
|
||||
EventVisibility.create_type()
|
||||
|
||||
execute(
|
||||
"ALTER TABLE events ALTER COLUMN visibility TYPE event_visibility_type USING visibility::event_visibility_type"
|
||||
"ALTER TABLE events ALTER COLUMN visibility TYPE event_visibility_type USING visibility::event_visibility"
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
defmodule Mobilizon.Repo.Migrations.MoveParticipantRoleToEnum do
|
||||
use Ecto.Migration
|
||||
alias Mobilizon.Events.ParticipantRoleEnum
|
||||
alias Mobilizon.Events.ParticipantRole
|
||||
|
||||
def up do
|
||||
ParticipantRoleEnum.create_type()
|
||||
ParticipantRole.create_type()
|
||||
|
||||
alter table(:participants) do
|
||||
add(:role_tmp, ParticipantRoleEnum.type(), default: "participant")
|
||||
add(:role_tmp, ParticipantRole.type(), default: "participant")
|
||||
end
|
||||
|
||||
execute("UPDATE participants set role_tmp = 'not_approved' where role = 0")
|
||||
@@ -37,7 +37,7 @@ defmodule Mobilizon.Repo.Migrations.MoveParticipantRoleToEnum do
|
||||
remove(:role)
|
||||
end
|
||||
|
||||
ParticipantRoleEnum.drop_type()
|
||||
ParticipantRole.drop_type()
|
||||
|
||||
rename(table(:participants), :role_tmp, to: :role)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user