Нет, это действительно не возвращает вещи в порядке их последнего сохранения. То, что вы видите, является совпадением. Когда оптимизатор запросов в базе данных выбирает другой план выполнения, строки возвращаются в другом порядке. (Если нет явного ORDER BY.) И есть множество причин для выбора другого плана, наиболее распространенным из которых является изменение количества строк в таблице.
я возникла странная проблема с развертыванием Heroku, которую я не могу воспроизвести локально. В основном, когда я нахожу все по определенной модели вместо сортировки по идентификатору, мне кажется, что они возвращаются в произвольном порядке.
Как правило, записи получаются так:
>> Model.all
=> [<model id: 2>,<model id: 1>,<model id: 3>,<model id: 4>,<model id: 5>]
... и так далее.
Если я явно позвонюModel.order("id ASC")
возвращает модели, как и ожидалось.
Что дает? Почему бы найти все не вернуть объекты в порядке убывания идентификатора?