从pgAdmin III运行heroku数据库命令? (哈利的Prelaunchr)

时间:2014-11-22 16:50:56

标签: ruby-on-rails ruby postgresql heroku

所以我已经在Heroku上成功安装了Harrys Prelauncher(https://github.com/harrystech/prelaunchr

并将我收集的电子邮件导出到csv中我需要运行此命令(bundle exec rake prelaunchr:create_winner_csvs)

有没有办法通过pgadmin或其他程序运行该命令?

或者是我下载myoku数据库并在本地运行命令的唯一方法吗?我还需要怎么做才能做到这一点?

我对rails和postgresql很陌生,如果有人可以帮助我,我真的很感激!

4 个答案:

答案 0 :(得分:2)

由于rake任务在本地创建文件,因此您无法通过heroku run rake在heroku上运行它。但是,您可以设置本地database.yml以连接到您的heroku postgresql实例并在本地运行rake任务。

  1. 运行heroku pg:credentials以获取所需的数据库值。
  2. 使用从步骤1获取的值填写config/database.yml的生产环境(对于yml文件中的'数据库'的值,使用步骤1中的dbnmae)
  3. 使用RAILS_ENV=production rails db测试您的连接。这应该会让你进入psql控制台。
  4. 运行rake任务。 RAILS_ENV=production bundle exec rake prelaunchr:create_winner_csvs
  5. 如文档所示,文件将在lib/assets本地保存。

答案 1 :(得分:1)

从项目目录中可以使用

heroku run rake prelaunchr:create_winner_csvs

答案 2 :(得分:1)

您应该在应用程序中创建一个UI表单。

单击导出CSV,它应该在heroku上运行后台作业(使用延迟作业)。

heroku run rake prelaunchr:create_winner_csvs

使用send_data ruby​​方法。将生成和转储的数据文件发送到浏览器。

通过运行heroku实例将文件下载到本地系统。

希望这能解决您的问题。

干杯!!!

答案 3 :(得分:0)

我最近在为客户开发Prelaunchr广告系列时遇到了这个问题。假设你有一个本地版本的应用程序,并在Heroku中使用Postgres Copper,你可以" pull"将Heroku数据库下载到本地计算机,将其设置为database.yml中的开发数据库,​​并从本地应用程序运行rake任务,该应用程序现在应具有与heroku版本相同的数据库。这是拉取db的命令(用你自己的名称替换name_for_database& heroku_app_name):

heroku pg:pull HEROKU_POSTGRESQL_COPPER_URL name_for_database --app heroku_app_name

确保重新启动本地服务器以查看填充的新数据库信息。