Rayları Taşıma: Kısıtlamayı kaldır


136

Ben (schema.rb içinde) benziyor Rails uygulamasında bir tablo var:

create_table "users", :force => true do |t|
   t.string "name", :null=>false
   t.string "address", :null=>false
end

Adres alanı için boş değerlere izin vermek üzere bir ray geçişi yazmak istiyorum. yani taşıma işleminden sonra tablo şöyle görünür:

create_table "users", :force => true do |t|
   t.string "name", :null=>false
   t.string "address"
end

Kısıtlamayı kaldırmak için ne yapmam gerekir?

Yanıtlar:



248

Rails 4+ sürümünde null olmayan kısıtlamayı kaldırmak için şunları kullanabilirsiniz change_column_null:

change_column_null :users, :address, true

Bunu gerçekten denedin mi? Fonksiyonun kaynak koduna bakarsanız, başka bir şey göremezsiniz:raise NotImplementedError, "change_column_null is not implemented"
drusepth

3
postgresql kullandık. raylar veritabanına özgü bağdaştırıcıda tanımlar bkz. postgres , mysql . apidock'ta başkalarını arayabilir . Yani, kimse alırsa destek için veritabanı bağdaştırıcısını kontrol etmek zorunda kalacakNotImplementedError
deepak

1
Oyla! Burada Raylar kılavuzlarının bağlantısı da var.
mcKain

1
Seçilen cevap bu olmalıdır
nahtnam
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.