我正在创建一个Twitter应用程序,并且每次用户更新页面时,它都会从Twitter重新加载最新消息并将它们保存到本地数据库,除非它们之前已经创建。这在开发环境(数据库:sqlite3)中运行良好,但在生产环境(mysql)中,它总是再次创建消息,即使它们已经被创建。Rails在生产环境中调试
消息创建由twitter_id检查,每个消息有:
msg = Message.find_by_twitter_id(message_hash['id'].to_i)
if msg.nil?
# creates new message from message_hash (and possibly new user too)
end
msg.save
显然,在生产环境中是无法找到的Twitter ID消息由于某些原因(当我看着它保存在数据库所有的属性都正确)。
有了这么长的介绍,我想我的主要问题是如何调试呢? (除非你已经有一个答案的主要问题,当然:)当我看在production.log,那只能说明是这样的:
Processing MainPageController#feeds (for 91.154.7.200 at 2010-01-16 14:35:36) [GET]
Rendering template within layouts/application
Rendering main_page/feeds
Completed in 9774ms (View: 164, DB: 874) | 200 OK [http://www.tweets.vidious.net/]
...但不是数据库的请求,logger.debug文字,或任何可以帮助我找到问题的东西。
为什么不在开发中使用MySQL,出于兴趣? – 2010-01-16 15:17:41
消息散列由什么组成? – Eimantas 2010-01-16 15:18:49
John,sqlite3默认为...但是,在开发和生产中使用相同的数据库可能会更容易。 – JussiR 2010-01-16 15:36:43