1

我在 heroku 中有一个 sinatra ruby​​ 应用程序。我正在尝试通过控制台访问数据库。当我运行时heroku run console,我收到以下错误。

Running console attached to terminal... up, run.10
    /app/vendor/ruby-1.9.2/lib/ruby/1.9.1/irb/init.rb:281:in `require':LoadError: no such file to load -- ./console.

当我尝试使用以下命令访问记录时,出现以下错误:

irb(main):001:0> Setting.first
NameError: uninitialized constant Object::Setting
    from (irb):1
    from bin/irb:12:in `<main>'

任何人都可以帮助我完成需要做的事情。我错过了一些文件还是有不同的方式来访问heroku中的表?

4

1 回答 1

3

heroku console对 Rails 应用程序来说是一个旧的 hack,但它不会在其他地方工作。从输出中可以看出,它正在尝试加载一个名为./console. 因此,在您的项目根目录上创建一个console文件,并在连接到数据库后从中调用 IRB。例如:

#!/usr/bin/env ruby                                                                                                

require 'irb'                                                                                                      
require 'irb/completion'                                                                                           

require 'rubygems'                                                                                                 
require 'bundler/setup'                                                                                            

# require something that connects to your database
# or just connect here using ENV['DATABASE_URL']
require 'your_project_setup'

IRB.start
于 2012-09-12T15:46:13.377 回答