所以,我在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),否则会很好。