所以我已经在Heroku上成功安装了Harrys Prelauncher(https://github.com/harrystech/prelaunchr)
并将我收集的电子邮件导出到csv中我需要运行此命令(bundle exec rake prelaunchr:create_winner_csvs)
有没有办法通过pgadmin或其他程序运行该命令?
或者是我下载myoku数据库并在本地运行命令的唯一方法吗?我还需要怎么做才能做到这一点?
我对rails和postgresql很陌生,如果有人可以帮助我,我真的很感激!
答案 0 :(得分:2)
由于rake任务在本地创建文件,因此您无法通过heroku run rake
在heroku上运行它。但是,您可以设置本地database.yml以连接到您的heroku postgresql实例并在本地运行rake任务。
heroku pg:credentials
以获取所需的数据库值。config/database.yml
的生产环境(对于yml文件中的'数据库'的值,使用步骤1中的dbnmae)RAILS_ENV=production rails db
测试您的连接。这应该会让你进入psql控制台。RAILS_ENV=production bundle exec rake prelaunchr:create_winner_csvs
如文档所示,文件将在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
确保重新启动本地服务器以查看填充的新数据库信息。