Usage
Migrations
create_enum :mood, %w(happy great been_better)
create_table :person do
t.enum :person_mood, enum_type: :mood
endRunning the code above will create a person table, with a person_mood column of type mood. This will also be reflected in schema.rb, so rake db:schema:load works as expected.
To drop an existing enum:
drop_enum :moodTo rename an existing enum:
rename_enum :mood, :emotionsTo add a value into existing enum:
add_enum_value :mood, "pensive"To remove a value from existing enum:
Warning: make sure that value is not used anywhere in the database.
remove_enum_value :mood, "pensive"To add a new enum column to an existing table:
def change
create_enum :product_type, %w[one-off subscription]
add_column :products, :type, :product_type
endTo rename a value:
rename_enum_value :mood, "pensive", "wistful"

