Rake任务错误地计算生产模式中的百分比

时间:2014-02-25 18:53:13

标签: mysql ruby postgresql ruby-on-rails-4 rake

我的rails应用程序中有一个rake任务,它使用以下代码计算平均每日增长:

days_passed = (company.hits.last.created_at - company.hits.first.created_at) / 86400
first_day_count = company.hits.group('date(created_at)').count.sort.first[1]
count_difference = (company.count/(first_day_count.to_f))

company.average_growth = (count_difference**(1.0/days_passed) -1.0) * 100.0

这在开发中很好用(使用mysql),在生产模式下(使用postgesql),计算有时是不正确的。

例如,对于我的一家公司,我得到了这些价值观:

days_passed = 16
first_day_count = 2
count_difference = 4.0

使用平均增长计算(4.0^(1.0/16)-1.0)*100.0,average_growth应为9.05%。当我在heroku run rails c中运行这些代码行时,我得到9.05但是我的应用程序说这个特定公司的average_growth是-37.01%。

我很难理解为什么rake任务产生了错误的答案,特别是当我手动完成代码时,我得到了正确的答案。我也尝试用**替换^,但是当我这样做时,rake任务会中断。不知道如何解决它

0 个答案:

没有答案