[rails] PostgreSQL의 한글 필드 정렬

default_scope { order(name: :asc) }

레일스의 카테고리 모델에 이렇게 넣었다.

 

SELECT "categories".* FROM "categories"  ORDER BY "categories"."name" ASC

그럼 당연히 이렇게 order by 가 적용된다.

 

screenshot_2015-02-05_AM 10.52.40

하지만 화면에는 이렇게 표시된다.

당연히 잘 될거라는 믿음때문에 확인을 안했더니…

 

http://tech.jinto.pe.kr/165 에서 해답을 얻었다.

 

default_scope { order('name collate "C" asc') }

모델을 이렇게 바꿔주면

SELECT "categories".* FROM "categories"  ORDER BY name collate "C" asc

sql도 이렇게 바뀌고
screenshot_2015-02-05_AM 10.57.39

화면에도 요렇게 보여준다.