代码之家  ›  专栏  ›  技术社区  ›  vjnan369

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

  •  1
  • vjnan369  · 技术社区  · 9 年前

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

    这是我的密码。

    下载器。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
    

    日程rb文件

    set :environment, 'production'
    
    every 1.minutes do
    rake "downloader:downloading"
    end
    

    当我在生产环境中运行它时,它会显示在日志中($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 回复  |  直到 9 年前
        1
  •  1
  •   coorasse    9 年前

    看来你的数据库在Heroku上还没有准备好。

    请确认为您的应用程序安装了mysql数据库,然后运行 heroku run db:setup 构建模式并将其种子化。