Ruby on rails 任务:Rake中止!找不到表';货币';

Ruby on rails 任务:Rake中止!找不到表';货币';,ruby-on-rails,rake-task,Ruby On Rails,Rake Task,我已经使用capistrano将rails应用程序部署到Linode VPS,但有一个小问题我不知道如何解决: 部署期间的Capistrano输出: == CreateCurrencies: migrating -- create_table(:currencies) -> 0.0074s == CreateCurrencies: migrated (0.0075s) Capistrano已经创建了表货币,我可以在我的实时服务器上访问它 我还有一个rake任务,定义如下: names

我已经使用capistrano将rails应用程序部署到Linode VPS,但有一个小问题我不知道如何解决:

部署期间的Capistrano输出:

==  CreateCurrencies: migrating
-- create_table(:currencies)
-> 0.0074s
==  CreateCurrencies: migrated (0.0075s)
Capistrano已经创建了表货币,我可以在我的实时服务器上访问它

我还有一个rake任务,定义如下:

namespace :rate do
  task :update => :environment do
   #Modify Currencies table.
  end
end
现在如果我跑

rake rate:update
在开发机器上:一切正常。 在生产机器上:它给出以下错误

rake aborted!
Could not find table 'currencies'

关于如何解决这个问题有什么建议吗?

看起来您的Migarion还没有从开发模式转换到生产模式。只需检查生产数据库中是否有货币表。当您在生产模式下运行时,也要选择rails_env


同步所有这些应该可以解决您的问题。

您是否在生产环境中的linode上运行任务?i、 e.
RAILS\u ENV=生产耙率:更新
?可能是您没有迁移,并且Linode上的开发数据库尚未迁移。@ipd谢谢。running RAILS_ENV=生产耙率:更新解决了该问题。