146

Railsアプリケーションに(schema.rbで)次のようなテーブルがあります。

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

アドレス フィールドに null を許可する Rails Migration を書きたいと思います。つまり、移行後のテーブルは次のようになります。

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

制約を取り除くにはどうすればよいですか?

4

2 に答える 2

290

Rails 4+ では、not-null 制約を削除するために、次を使用できますchange_column_null

change_column_null :users, :address, true
于 2014-01-31T06:49:11.167 に答える
177

電話できるかわからないt.address?とにかく...私はchange_columnそのように使います

change_column :users, :address, :string, :null => true

ドキュメント... http://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/change_column

于 2011-04-15T20:42:15.423 に答える