Rails4 PostgreSQLで数値を降順にソートしたらnullが先頭になってしまった

SQLite3では、点数を降順で並べる下記のようなスコープで、nullが末尾に来ていたが、PostgreSQLだと、nullが先頭に来てしまった。

scope :order_score_desc, -> { order(score: :desc) }


そこで、下記のように、(列名 is null)を追加してあげると、PostgreSQLでもnullが末尾に来た。

scope :order_score_desc, -> { order("(score is null)", score: :desc) }


もちろん、SQLite3でも正常に動作した。


参考:
WEB開発備忘録 PostgreSQLでorderする際の、null値の扱い