refactor(backend): simplify ENUM handling in alembic migration script

- Removed explicit ENUM creation statements; rely on `sa.Enum` to auto-generate ENUM types during table creation.
- Cleaned up redundant `create_type=False` arguments to streamline definitions.
This commit is contained in:
2026-01-01 12:34:09 +01:00
parent c9700f760e
commit 8b6cca5d4d

View File

@@ -28,82 +28,9 @@ depends_on: str | Sequence[str] | None = None
def upgrade() -> None:
"""Create Syndarix domain tables."""
# =========================================================================
# Create ENUM types
# =========================================================================
op.execute(
"""
CREATE TYPE autonomy_level AS ENUM (
'full_control', 'milestone', 'autonomous'
)
"""
)
op.execute(
"""
CREATE TYPE project_status AS ENUM (
'active', 'paused', 'completed', 'archived'
)
"""
)
op.execute(
"""
CREATE TYPE project_complexity AS ENUM (
'script', 'simple', 'medium', 'complex'
)
"""
)
op.execute(
"""
CREATE TYPE client_mode AS ENUM (
'technical', 'auto'
)
"""
)
op.execute(
"""
CREATE TYPE agent_status AS ENUM (
'idle', 'working', 'waiting', 'paused', 'terminated'
)
"""
)
op.execute(
"""
CREATE TYPE issue_type AS ENUM (
'epic', 'story', 'task', 'bug'
)
"""
)
op.execute(
"""
CREATE TYPE issue_status AS ENUM (
'open', 'in_progress', 'in_review', 'blocked', 'closed'
)
"""
)
op.execute(
"""
CREATE TYPE issue_priority AS ENUM (
'low', 'medium', 'high', 'critical'
)
"""
)
op.execute(
"""
CREATE TYPE sync_status AS ENUM (
'synced', 'pending', 'conflict', 'error'
)
"""
)
op.execute(
"""
CREATE TYPE sprint_status AS ENUM (
'planned', 'active', 'in_review', 'completed', 'cancelled'
)
"""
)
# =========================================================================
# Create projects table
# Note: ENUM types are created automatically by sa.Enum() during table creation
# =========================================================================
op.create_table(
"projects",
@@ -118,7 +45,6 @@ def upgrade() -> None:
"milestone",
"autonomous",
name="autonomy_level",
create_type=False,
),
nullable=False,
server_default="milestone",
@@ -131,7 +57,6 @@ def upgrade() -> None:
"completed",
"archived",
name="project_status",
create_type=False,
),
nullable=False,
server_default="active",
@@ -144,14 +69,13 @@ def upgrade() -> None:
"medium",
"complex",
name="project_complexity",
create_type=False,
),
nullable=False,
server_default="medium",
),
sa.Column(
"client_mode",
sa.Enum("technical", "auto", name="client_mode", create_type=False),
sa.Enum("technical", "auto", name="client_mode"),
nullable=False,
server_default="auto",
),
@@ -285,7 +209,6 @@ def upgrade() -> None:
"paused",
"terminated",
name="agent_status",
create_type=False,
),
nullable=False,
server_default="idle",
@@ -384,7 +307,6 @@ def upgrade() -> None:
"completed",
"cancelled",
name="sprint_status",
create_type=False,
),
nullable=False,
server_default="planned",
@@ -435,7 +357,6 @@ def upgrade() -> None:
"task",
"bug",
name="issue_type",
create_type=False,
),
nullable=False,
server_default="task",
@@ -455,7 +376,6 @@ def upgrade() -> None:
"blocked",
"closed",
name="issue_status",
create_type=False,
),
nullable=False,
server_default="open",
@@ -468,7 +388,6 @@ def upgrade() -> None:
"high",
"critical",
name="issue_priority",
create_type=False,
),
nullable=False,
server_default="medium",
@@ -502,7 +421,6 @@ def upgrade() -> None:
"conflict",
"error",
name="sync_status",
create_type=False,
),
nullable=False,
server_default="synced",