#this works well
add_column :users, :confirmation_token, :string
add_column :users, :confirmed_at, :datetime
add_column :users, :confirmation_sent_at, :datetime
add_column :users, :unconfirmed_email, :string
#But this cannot work !!!
add_column :users, :confirmation_token, :string, :null => false, :default => ''
add_column :users, :confirmed_at, :datetime, :null => false, :default => '1970-01-01'
add_column :users, :confirmation_sent_at, :datetime, :null => false, :default => '1970-01-01'
add_column :users, :unconfirmed_email, :string, :null => false, :default => ''
См. Эту проблему: https://github.com/plataformatec/devise/issues/2567
Сегодня я улавливаю проблему и трачу на нее 5 часов.
Письмо с подтверждением от Devise не может работать, если реляционные столбцы translation_token пустые. Хорошо, когда столбцы нулевые, это хорошо работает.