Mevcut bir sütuna varsayılan bir boole değeri ekleme hakkında SO üzerinde burada birkaç soru (yani bu ) gördüm . Bu yüzden change_column
öneriyi denedim ama doğru yapmamalıyım.
Denedim:
$ change_column :profiles, :show_attribute, :boolean, :default => true
Hangi döndürür -bash: change_column: command not found
Sonra koştum:
$ rails g change_column :profiles, :show_attribute, :boolean, :default => true
...ve
$ rails change_column :profiles, :show_attribute, :boolean, :default => true
Sonra koştu rake db:migrate
, ama değeri :show_attribute
kaldı nil
. Yukarıda bahsettiğim soruda PostgreSQL'de manuel olarak güncellemeniz gerekiyor diyor. PostgreSQL kullandığımdan, geçişimde aşağıdakileri ekledim create_profiles
:
t.boolean :show_attribute, :default => true
Birisi bana burada neyi yanlış yaptığımı söyleyebilir mi?
up
, db / migrate / dizininde oluşturulacak yeni bir sınıf olan geçiş yönteminde olmalıdır . (down
Yöntem, ne yaptığının geri alınması için yazılmalıdırup
.) Bu değişikliği yapınrake db:migrate
.