2012-12-16 4 views
7

2 개의 "흔치 않은"열이 포함 된 테이블 - orderlike이 있습니다.견적 열 이름

테이블은 두 데이터베이스 (MySQLPostgreSQL)에 복제됩니다.

와 나는 모두 두 데이터베이스에 연결하고 같은 쿼리를 사용하는 동일한 응용 프로그램이 필요합니다이는 MySQL에서 작동합니다

PageModel.where("`like` >= ?", params[:liked]) 

.

ActiveRecord을 열 이름의 인용 부호로 만드시겠습니까? 같은

뭔가 : - 그냥 따옴표없이 열 이름을 반환

PageModel.where("%s >= ?" % quote_column_name(:like), params[:liked]) 

나는 지금 쓸모있는 방법을 발견했다.

http://www.rubydoc.info/docs/rails/3.2.8/ActiveRecord/ConnectionAdapters/Quoting:quote_column_name

아마도 그냥 자리 표시 자이며,이 작업을 수행하는 또 다른 방법이있다?

답변

10

이것은 데이터베이스 어댑터에 따라 다릅니다. 기본적으로 각 어댑터는이 메서드를 자체 정의로 재정의합니다. 예상대로 작동,

ActiveRecord::Base.connection.quote_column_name "my_column" 
+0

감사 :

당신은에 관심이. –