J'ai vu quelques questions (à savoir celle-ci ) ici sur SO sur l'ajout d'une valeur booléenne par défaut à une colonne existante. J'ai donc essayé la change_column
suggestion mais je ne dois pas le faire correctement.
J'ai essayé:
$ change_column :profiles, :show_attribute, :boolean, :default => true
Quels retours -bash: change_column: command not found
J'ai ensuite couru:
$ rails g change_column :profiles, :show_attribute, :boolean, :default => true
...et
$ rails change_column :profiles, :show_attribute, :boolean, :default => true
Puis a couru rake db:migrate
, mais la valeur pour :show_attribute
est restée nil
. Dans la question que j'ai mentionnée ci-dessus, il est dit que dans PostgreSQL, vous devez le mettre à jour manuellement. Depuis que j'utilise PostgreSQL, j'ai ajouté ce qui suit dans ma create_profiles
migration:
t.boolean :show_attribute, :default => true
Quelqu'un peut-il me dire ce que je fais de mal ici?
up
méthode de la migration, qui est une nouvelle classe qui sera générée dans db / migrate /. (Ladown
méthode doit être écrite pour annuler ce quiup
fait.) Faites ce changement, alorsrake db:migrate
.