i have an eager load query as such: @groups = ReviewQuestionGroup.find(:all, :conditions => ["review_category_id = ?", @review.category.id], :order => 'review_question_groups.position, review_questions.position', :include => :questions) in dev mode, this works fine... i get results like @groups.questions.length = 13. in production, i get length = 0 for all of the questions associations. rails is issuing the same SQL statement for both modes, and issuing that SQL statement manually against the prod database gives the proper results. no errors or exceptions are being thrown or logged that i can see. using rails 1.2.3, oracle 9i
on 2007-04-26 17:35
on 2007-05-01 14:56
solved - turns out it was an oracle problem: the production database had the id and foreign key fields defined as NUMBER instead of INTEGER, which rails turns into floats. the eager loading query is the same, but the sql rails issues to eagerly populate the association collections ends up being like "where group_id = 1.0", and so the query returns zero results. changing the column types in oracle to INTEGER as they should have been fixes the problem. it was working properly in development mode since the dev database already had the id and foreign key fields defined as INTEGER.