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



所以,我在Heroku上部署了一个应用程序,我正试图通过我编写的脚本填充应用程序上的数据库。我把数据库放在一个文本文件中,脚本运行在文件中并填充数据库。我不想将数据库文件推送到heroku服务器,因为它是一个非常大的文件。

有什么方法可以在Heroku上做到这一点吗?它在本地运行良好,但我无法在Heroku服务器上运行。

我试过

 heroku run rails runner PATH/TO/SCRIPT LOCAL/PATH/TO/DATABASE --app my_app

但无济于事。

在Heroku上运行本地脚本:

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

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

关于传递数据:您可以以某种形式序列化它,并将其放入脚本中。

希望它能帮助到别人。

更新:除了琐碎的数据集之外,这并不能很好地工作。

您还可以将脚本上传到gist,然后执行:

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

我不得不使用全局变量($dollar_prefixed),因为上下文不会用变量填充(使用Pry),否则会很好。

最新更新