According to http://guides.rubyonrails.org/active_record_querying.html, “first” does not use “ORDER BY ID” to bring the first record. Whereas “last” does.
I find this inconsistent. I can also say that this is buggy on MySQL. “…limit 1” does not always bring the record with the minimum id. I can link you to the following that
verifies my statement: http://forums.mysql.com/read.php?22,530328,530328#msg-530328
Do you think that you can change “first” to be consistent with “last” (that does the order by id desc)?