From fcb0a5f86ad8cf5e570298975384ecdfdefb5f0a Mon Sep 17 00:00:00 2001 From: Felipe Cardoso Date: Tue, 6 Jan 2026 02:48:10 +0100 Subject: [PATCH] fix(models): add explicit enum names to match migration types MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SQLAlchemy's Enum() auto-generates type names from Python class names (e.g., AutonomyLevel -> autonomylevel), but migrations defined them with underscores (e.g., autonomy_level). This mismatch caused: "type 'autonomylevel' does not exist" Added explicit name parameters to all enum columns to match the migration-defined type names: - autonomy_level, project_status, project_complexity, client_mode - agent_status, sprint_status - issue_type, issue_status, issue_priority, sync_status 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- backend/app/models/syndarix/agent_instance.py | 2 +- backend/app/models/syndarix/issue.py | 8 ++++---- backend/app/models/syndarix/project.py | 8 ++++---- backend/app/models/syndarix/sprint.py | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/backend/app/models/syndarix/agent_instance.py b/backend/app/models/syndarix/agent_instance.py index 7db6d14..0bb26fb 100644 --- a/backend/app/models/syndarix/agent_instance.py +++ b/backend/app/models/syndarix/agent_instance.py @@ -62,7 +62,7 @@ class AgentInstance(Base, UUIDMixin, TimestampMixin): # Status tracking status: Column[AgentStatus] = Column( - Enum(AgentStatus), + Enum(AgentStatus, name="agent_status"), default=AgentStatus.IDLE, nullable=False, index=True, diff --git a/backend/app/models/syndarix/issue.py b/backend/app/models/syndarix/issue.py index c6edcc9..1fff0fa 100644 --- a/backend/app/models/syndarix/issue.py +++ b/backend/app/models/syndarix/issue.py @@ -59,7 +59,7 @@ class Issue(Base, UUIDMixin, TimestampMixin): # Issue type (Epic, Story, Task, Bug) type: Column[IssueType] = Column( - Enum(IssueType), + Enum(IssueType, name="issue_type"), default=IssueType.TASK, nullable=False, index=True, @@ -78,14 +78,14 @@ class Issue(Base, UUIDMixin, TimestampMixin): # Status and priority status: Column[IssueStatus] = Column( - Enum(IssueStatus), + Enum(IssueStatus, name="issue_status"), default=IssueStatus.OPEN, nullable=False, index=True, ) priority: Column[IssuePriority] = Column( - Enum(IssuePriority), + Enum(IssuePriority, name="issue_priority"), default=IssuePriority.MEDIUM, nullable=False, index=True, @@ -132,7 +132,7 @@ class Issue(Base, UUIDMixin, TimestampMixin): # Sync status with external tracker sync_status: Column[SyncStatus] = Column( - Enum(SyncStatus), + Enum(SyncStatus, name="sync_status"), default=SyncStatus.SYNCED, nullable=False, # Note: Index defined in __table_args__ as ix_issues_sync_status diff --git a/backend/app/models/syndarix/project.py b/backend/app/models/syndarix/project.py index 974d112..e30d975 100644 --- a/backend/app/models/syndarix/project.py +++ b/backend/app/models/syndarix/project.py @@ -35,28 +35,28 @@ class Project(Base, UUIDMixin, TimestampMixin): description = Column(Text, nullable=True) autonomy_level: Column[AutonomyLevel] = Column( - Enum(AutonomyLevel), + Enum(AutonomyLevel, name="autonomy_level"), default=AutonomyLevel.MILESTONE, nullable=False, index=True, ) status: Column[ProjectStatus] = Column( - Enum(ProjectStatus), + Enum(ProjectStatus, name="project_status"), default=ProjectStatus.ACTIVE, nullable=False, index=True, ) complexity: Column[ProjectComplexity] = Column( - Enum(ProjectComplexity), + Enum(ProjectComplexity, name="project_complexity"), default=ProjectComplexity.MEDIUM, nullable=False, index=True, ) client_mode: Column[ClientMode] = Column( - Enum(ClientMode), + Enum(ClientMode, name="client_mode"), default=ClientMode.AUTO, nullable=False, index=True, diff --git a/backend/app/models/syndarix/sprint.py b/backend/app/models/syndarix/sprint.py index a2c58a1..04db131 100644 --- a/backend/app/models/syndarix/sprint.py +++ b/backend/app/models/syndarix/sprint.py @@ -57,7 +57,7 @@ class Sprint(Base, UUIDMixin, TimestampMixin): # Status status: Column[SprintStatus] = Column( - Enum(SprintStatus), + Enum(SprintStatus, name="sprint_status"), default=SprintStatus.PLANNED, nullable=False, index=True,