Skip to content

Instantly share code, notes, and snippets.

@beaugaines
Last active August 29, 2015 14:23
Show Gist options
  • Save beaugaines/d93f4928fe80cfbf0b53 to your computer and use it in GitHub Desktop.
Save beaugaines/d93f4928fe80cfbf0b53 to your computer and use it in GitHub Desktop.
class ChangeColumnTypeForUserRole < ActiveRecord::Migration
ROLES = User.roles.keys
def up
users = User.all
rename_column :users, :role, :old_role
add_column :users, :role, :integer, default: 0
users.all.each do |u|
u.update(role: ROLES.index(u.old_role))
end
remove_column :users, :old_role
end
def down
users = User.all
rename_column :users, :role, :old_role
add_column :users, :role, :string
users.all.each do |u|
u.update(role: ROLES[u.old_role])
end
remove_column :users, :old_role
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment