ActiveRecord find on legacy database having enum columns problem

hello,

Im interfacing a PHP app with my rails app and one of the tables im trying to do a find on has an enum column. So when i run the find, its adding an extra condition. This is my first time interfacing with a DB like this so im not quite sure how to remedy my problem

This is my named_scope named_scope :ads, lambda { |advertiser| { :conditions => ["advertiser_id = ? && type = ?", advertiser, "advertisement"]}

this is what i get in the terminal

SELECT * FROM `broadcast` WHERE (advertiser_id = '5' && type = 'advertisement') AND ( (`broadcast`.`type` = 'Broadcast' ) )

so its appending the (`broadcast`.`type` = 'Broadcast' ). There is a type column in the DB that is an enum column.

any help?

The problem is that the column is named 'type'. This is a reserved word in rails as it used in Single Table Inheritance. If you can change the name of the column then that should sort it. If you can't change it then http://www.benlog.org/2007/1/16/legacy-rails-beware-of-type-columns provides a work around.

Colin

Excellent. Thank you for the link. That worked great!