Railsアプリケーションに(schema.rbで)次のようなテーブルがあります。
create_table "users", :force => true do |t|
t.string "name", :null=>false
t.string "address", :null=>false
end
Rails移行を記述して、アドレスフィールドにnullを許可します。つまり、移行後、テーブルは次のようになります。
create_table "users", :force => true do |t|
t.string "name", :null=>false
t.string "address"
end
制約を削除するにはどうすればよいですか?
t.address
?とにかく... change_column
そのようです
change_column :users, :address, :string, :null => true
ドキュメント... http://apidock.com/Rails/ActiveRecord/ConnectionAdapters/SchemaStatements/change_column
Rails 4+では、null以外の制約を削除するために、 change_column_null
:
change_column_null :users, :address, true