【问题标题】:Rails & Heroku: Running a script through rails runner using local filesRails & Heroku:使用本地文件通过 rails runner 运行脚本
【发布时间】:2013-06-24 14:27:21
【问题描述】:

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

有没有办法在 Heroku 上做到这一点?它在本地运行良好,但我无法让它在 Heroku 服务器上运行。

我试过了

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

无济于事。

【问题讨论】:

  • 您找到解决方案了吗?
  • 我相信我只是将文件放在 /scripts 或 /lib 文件夹中,尽管我不能 100% 确定这是不是我所做的。

标签: ruby-on-rails heroku


【解决方案1】:

在 Heroku 上运行本地脚本:

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

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

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

希望对某人有所帮助。

更新:除了琐碎的数据集之外,这对任何事情都不起作用。

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-01-17
      • 2012-03-12
      • 2014-07-20
      • 1970-01-01
      • 2015-03-24
      • 2016-11-24
      • 1970-01-01
      • 2012-04-13
      • 1970-01-01
      相关资源
      最近更新 更多