no hay orden. Debería ver sus registros mientras aprende acerca de ActiveRecord para ver qué SQL se está generando. Si no hay una cláusula ORDER BY, no hay orden. Puede encontrar que recupera los registros en el orden en que se insertaron en la base de datos, pero eso es solo una coincidencia y debido a la implementación dentro del servidor de la base de datos. Los resultados de SQL están desordenados explícitamente a menos que ORDER BY esté presente.
En cuanto a #first, también es aleatorio sin una cláusula de orden (al menos, está en los rieles 3).
puede especificar el orden con bastante facilidad:
MyModel.order(:some_attr) # all records sorted by some_attr
MyModel.order(:some_attr).first # First record in sorted order
Tienes razón. MySQL ordena por ID, PostgreSQL devuelve las últimas entradas actualizadas al último (creo). Y gracias por el enlace, eso era lo que estaba buscando. :) – iGEL