diff --git a/apps/backend/internal/task/repository/sqlite.go b/apps/backend/internal/task/repository/sqlite.go index a99eed9db9..99e402510c 100644 --- a/apps/backend/internal/task/repository/sqlite.go +++ b/apps/backend/internal/task/repository/sqlite.go @@ -118,9 +118,7 @@ func (r *SQLiteRepository) initSchema() error { CREATE INDEX IF NOT EXISTS idx_tasks_board_id ON tasks(board_id); CREATE INDEX IF NOT EXISTS idx_tasks_column_id ON tasks(column_id); - CREATE INDEX IF NOT EXISTS idx_tasks_workspace_id ON tasks(workspace_id); CREATE INDEX IF NOT EXISTS idx_columns_board_id ON columns(board_id); - CREATE INDEX IF NOT EXISTS idx_boards_workspace_id ON boards(workspace_id); CREATE INDEX IF NOT EXISTS idx_task_boards_board_id ON task_boards(board_id); CREATE INDEX IF NOT EXISTS idx_task_columns_board_id ON task_columns(board_id); CREATE INDEX IF NOT EXISTS idx_task_columns_column_id ON task_columns(column_id); @@ -161,6 +159,10 @@ func (r *SQLiteRepository) initSchema() error { return err } + if err := r.ensureWorkspaceIndexes(); err != nil { + return err + } + return nil } @@ -242,6 +244,16 @@ func (r *SQLiteRepository) ensureDefaultWorkspace() error { return nil } +func (r *SQLiteRepository) ensureWorkspaceIndexes() error { + if _, err := r.db.Exec(`CREATE INDEX IF NOT EXISTS idx_tasks_workspace_id ON tasks(workspace_id)`); err != nil { + return err + } + if _, err := r.db.Exec(`CREATE INDEX IF NOT EXISTS idx_boards_workspace_id ON boards(workspace_id)`); err != nil { + return err + } + return nil +} + func (r *SQLiteRepository) backfillTaskMappings() error { ctx := context.Background()