Rails & Heroku:使用本地文件通过rails runner运行脚本

3
所以,我在Heroku上部署了一个应用程序,并尝试通过我编写的脚本填充应用程序中的数据库。我有一个文本文件中的数据库,并且该脚本运行该文件并填充数据库。由于它是一个非常大的文件,我不想将数据库文件推送到Heroku服务器上。
有没有办法在Heroku上实现这一点?在本地运行正常,但我无法让它在Heroku服务器上工作。
我尝试过:
 heroku run rails runner PATH/TO/SCRIPT LOCAL/PATH/TO/DATABASE --app my_app

无济于事。

你找到解决方案了吗? - Rodrigo Ruiz
我相信我刚刚把文件放在/scripts或/lib文件夹中,但我不确定是否是这样做的。 - justindao
2个回答

0

在Heroku上运行本地脚本:

irbify.rb script.rb | heroku run rails console --app=my_app

irbify.rb是我编写的一个愚蠢而微小的脚本,用于将脚本转换为单个eval语句。

关于传递数据:你可以将其序列化并放在脚本中。

希望对某些人有所帮助。

更新:对于超出平凡数据集的任何内容,这都不起作用。


0

你也可以将你的脚本上传到 gist,然后执行以下操作:

binding.eval(open("your gist raw url").read)

我不得不使用全局变量($dollar_prefixed),因为上下文无法填充变量(使用Pry),否则一切都很顺利。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接