在heroku rake任务期间加载本地文件

Ale*_*eth 9 rake heroku

我有一个导入实用程序,我想用于在heroku上创建记录.

我想用它从我的开发机器上的文件导入数据,而不必将文件检入存储库.有没有办法用rake任务或heroku gem来做到这一点?

我可以将文件上传到可能超时的网络表单中,或者我可以将文件存储在S3上,但这似乎相当过分.

有什么简单的方法吗?

vis*_*ish 7

您可以在机器上阅读标准输入.

heroku run rake whatever <./file
Run Code Online (Sandbox Code Playgroud)

  • 在任务定义中访问此文件数据的语法是什么? (2认同)

spi*_*ike 2

不,不可能从任何运行的东西heroku run(包括 rake 任务,假设你在 cedar 上)访问开发机器上的本地文件。

我采取了以下方法:

  • 种子数据存储在repo中并使用seed_fu加载

  • 非种子数据通过 Web 表单上传到 S3,并DataFile使用回形针链接到模型(有点过头了,但我在其他地方将其用于图像)。然后我可以使用 rake 任务或延迟作业工作者来处理文件。这肯定是有点开销。