Rails migration: is it ok to use 'nil' as the default value for a boolean field?

activerecord, postgresql, ruby-on-rails

Solution

there is nothing to stop you from using nil on boolean - but I personally like my booleans to be true or false, i've found that having nil can lead to some ugly code

Problem

Is there anything wrong with defaulting a boolean field to `nil` rather than `false` with an ActiveRecord migration for use with Postgres? I like how it gives a small bit of extra data- whether or not that field has been marked as true or false yet.

Original source