From 8b6cca5d4da1ebdb172426caa5653d255dbb636b Mon Sep 17 00:00:00 2001 From: Felipe Cardoso Date: Thu, 1 Jan 2026 12:34:09 +0100 Subject: [PATCH] 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. --- .../versions/0004_add_syndarix_models.py | 86 +------------------ 1 file changed, 2 insertions(+), 84 deletions(-) diff --git a/backend/app/alembic/versions/0004_add_syndarix_models.py b/backend/app/alembic/versions/0004_add_syndarix_models.py index f7d8e3d..2fb0ff9 100644 --- a/backend/app/alembic/versions/0004_add_syndarix_models.py +++ b/backend/app/alembic/versions/0004_add_syndarix_models.py @@ -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",