Tengo un modelo de usuarios que necesita una columna :email
(se me olvidó agregar esa columna durante el andamio inicial).Agregar una columna a una tabla existente en una migración de Rails
Abrí el archivo de migración y agregué t.string :email
, hice rake db:migrate
, y obtuve un NoMethodError
. Luego añadí la línea
add_column :users, :email, :string
de nuevo rake db:migrate
, de nuevo NoMethodError
. ¿Me estoy perdiendo un paso aquí?
Editar: aquí está el archivo de migración.
class CreateUsers < ActiveRecord::Migration
def self.up
add_column :users, :email, :string
create_table :users do |t|
t.string :username
t.string :email
t.string :crypted_password
t.string :password_salt
t.string :persistence_token
t.timestamps
end
end
def self.down
drop_table :users
end
end
rails g migration addEmailToUsers también funciona – wheresmycookie
Para que quede claro, usamos el plural? ¿Entonces es 'add_email_to_users' y NO' add_email_to_user'? – Purplejacket
Correcto. Los nombres de tabla en Rails son siempre plurales (para que coincidan con las convenciones de DB). – camdez