奇妙な問題が発生しました:
ブールフィールドがHerokuに保存されない(ローカルで正常に動作します)
詳細:
Rails 2.3 on Heroku (bamboo-ree-1.8.7).
移行
def self.up
add_column :users, :send_contact_emails, :boolean, :default => false
end
Herokuについて:
>> u = User.last
=> #<User id: 100, ......
>> u.send_contact_emails = true
=> true
>> u.save
=> true
>> x = User.last
=> #<User id: 100, ...
>> x.send_contact_emails
=> nil <---------------------------- Why is this ?
これをローカルで実行すると(Postgresql 8.4)、期待どおりに機能します。
何か案は ?
編集:
DBで直接いくつかのテストを実行しました。
>> ActiveRecord::Base.connection.execute("SELECT send_contact_emails from users where id = 100")[0]
=> {"send_contact_emails"=>nil}
>> ActiveRecord::Base.connection.execute("UPDATE users SET send_contact_emails=FALSE where id=100")
=> #<PGresult:0x7f76d7593580>
>> ActiveRecord::Base.connection.execute("SELECT send_contact_emails from users where id = 100")[0]
=> {"send_contact_emails"=>"f"}
したがって、問題はRailsにあり、Postgresqlにはありません...