遇到一个奇怪的问题:
布尔字段未保存在 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)时,它按预期工作。
有任何想法吗 ?
编辑:
直接在数据库上运行一些测试:
>> 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 ......