在运行rake任务时无法迁移生产数据库

时间:2015-07-21 06:43:29

标签: sql ruby-on-rails heroku rake scheduled-tasks

我正在开发一个小应用程序 每天下载一个csv文件(来自给定的URL)并将数据(在csv文件中)注入数据库并在webview中加载相同的数据。它在我的本地系统中工作得很好。但是当我部署到heroku数据库时,从csv文件注入不起作用。

这是我的代码。

downloader.rake文件

namespace :downloader do
desc "download a file"
task:downloading => :environment do
Rails.logger.info("message from task")
Download.destroy_all
ActiveRecord::Base.connection.execute("DELETE from sqlite_sequence where name = 'downloads'")
#**********some other code ************
end
end

schedule.rb文件

set :environment, 'production'

every 1.minutes do
rake "downloader:downloading"
end

当我在生产中运行时,它显示在log($ tail -f log / production.log)

D, [2015-07-21T12:17:02.910529 #11740] DEBUG -- :   Download Load (0.2ms)  SELECT "downloads".* FROM "downloads"
E, [2015-07-21T12:17:02.910635 #11740] ERROR -- : SQLite3::SQLException: no such table: downloads: SELECT "downloads".* FROM "downloads"

1 个答案:

答案 0 :(得分:1)

看起来您的数据库尚未在Heroku上准备就绪。

请通知您已为您的应用程序安装了一个mysql数据库,然后运行heroku run db:setup来构建架构并播种它。