Rails: Modificación de un Modelo Generado por Andamios
¿Cómo modificar un modelo que ha generado usando modelado? Por ejemplo, el modelo MyModel originalmente tenía columnas a, b y c, pero ahora quiero agregar la columna d.
3 answers
Los carriles 3 y superiores usan el siguiente código :
rails generate migration add_fieldname_id_to_tablename fieldname:string
Carriles 2
ruby script/generate migration add_fieldname_to_tablename fieldname:string
Esto ya no funciona y devuelve el siguiente error en Rails 3:
Ruby: No hay tal archivo o directorio script script/generate (LoadError)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-27 16:17:38
ruby script/generate migration add_fieldname_to_tablename fieldname:string
Este es el método de acceso directo para hacer exactamente lo que desea. si necesitas más control, o si tienes muchas columnas que agregar, la respuesta de Andrew H también funcionará bien.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-02 21:49:23
La mejor respuesta que he encontrado hasta ahora es ejecutar esto desde la raíz de su proyecto:
ruby script/generate migration add_d_column_to_myModel
Luego edite el nuevo archivo de migración ubicado en db/migration para que se vea algo como:
def self.up
add_column :myModel, :d, :string
end
def self.down
remove_column :myModel, :d
end
El último paso será actualizar sus vistas en consecuencia.
Respuesta encontrada aquí
Funciones de tabla encontradas aquí
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-02-10 02:05:19