Yes, you must set the default value. Otherwise, special mathematical operations must be performed to process NULL.
Let's say you had an array of mail objects and you wanted to get the sum of the number of comments.
@posts.sum(&:comment_count), , , nil.
:
add_column :posts, :comments_count, :integer, :default => 0, :null => false