He visto algunas preguntas (a saber, esta ) aquí en SO sobre agregar un valor booleano predeterminado a una columna existente. Así que probé la change_column
sugerencia pero no debo hacerlo bien.
Lo intenté:
$ change_column :profiles, :show_attribute, :boolean, :default => true
Que vuelve -bash: change_column: command not found
Entonces corrí:
$ rails g change_column :profiles, :show_attribute, :boolean, :default => true
...y
$ rails change_column :profiles, :show_attribute, :boolean, :default => true
Luego corrió rake db:migrate
, pero el valor de :show_attribute
permaneció nil
. En la pregunta que mencioné anteriormente, dice que en PostgreSQL debe actualizarlo manualmente. Como estoy usando PostgreSQL, agregué lo siguiente en mi create_profiles
migración:
t.boolean :show_attribute, :default => true
¿Alguien puede decirme qué estoy haciendo mal aquí?
up
método de la migración, que es una nueva clase que se generará en db / migrate /. (Eldown
método debe escribirse para deshacer lo queup
hace.) Realice ese cambio, entoncesrake db:migrate
.