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_attributekaldı 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 . (downYöntem, ne yaptığının geri alınması için yazılmalıdırup.) Bu değişikliği yapınrake db:migrate.