在我的 Rails 应用程序中,我遇到过几次问题,我想知道其他人是如何解决的:
我有一些记录,其中的值是可选的,所以有些记录有一个值,有些记录对于该列为空。
如果我在某些数据库中按这个列排序,空值排序第一,而在某些数据库中,空值排序最后。
例如,我有照片,可能属于或可能不属于一个集合,即有一些照片在 collection_id=nil
和一些在 collection_id=1
等。
如果我使用 Photo.order('collection_id desc)
,那么在 SQLite 上我最后得到 null,但在 PostgreSQL 上我首先得到 null。
有没有一种很好的标准 Rails 方法来处理这个问题,并在任何数据库中获得一致的性能?