Ruby Toolbox is your friend. https://www.ruby-toolbox.com/categories/Active_Record_Enumerations
I used enumerated_attribute with both Rails 2.3 and Rails 3 with good results. Yes, it uses a string column.
IMO column strings are better than whole columns because they do not imply any order of values ββand make it easier to understand an attribute (reverse engineer if you want) without looking at the source code. And usually the performance difference is small, especially if you have an index in the field - and you should.
Using the MySQL enum
field turned out to be difficult in Rails 2.3, the problem with the schemas is not sure if it is saved in Rails 3.
source share