Rails: orden con nulos últimos
En mi aplicación Rails me he encontrado con un problema un par de veces que me gustaría saber cómo resuelven otras personas:
Tengo ciertos registros donde un valor es opcional, por lo que algunos registros tienen un valor y otros son nulos para esa columna.
Si ordeno por esa columna en algunas bases de datos, los nulos se ordenan primero y en algunas bases de datos los nulos se ordenan en último lugar.
Por ejemplo, tengo fotos que pueden pertenecer o no a una colección, es decir, hay algunas fotos dondecollection_id=nil
y algunos dondecollection_id=1
etc.
Si lo hagoPhoto.order('collection_id desc)
luego en SQLite obtengo los nulos por último pero en PostgreSQL obtengo los nulos primero.
Existe una buena forma estándar de Rails para manejar esto y obtener un rendimiento constante en cualquier base de datos?