我有一个 Sinatra DataMapper 应用程序访问我试图部署到 Heroku 的 sqlite3 数据库。第一遍,我将我的数据库文件包含在 git repo 中。这在应用程序运行时有效,但生产数据不属于存储库。但它并没有真正起作用,因为数据库是只读的。
然后我删除了用于源代码控制的 db 文件并尝试了heroku db:push sqlite://db/my-app.db
. 此命令产生以下 stact 跟踪:
my-app/(master) ~ heroku db:push sqlite:://db/my-app.db
Sending schema
/Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:30:in `sqlite_config': undefined method `[]' for nil:NilClass (NoMethodError)
from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:24:in `create_config'
from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:36:in `connection'
from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:43:in `dump'
from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:52:in `dump_without_indexes'
from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/schema:24
Sending data
0 tables, 0 records
Sending indexes
/Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:30:in `sqlite_config': undefined method `[]' for nil:NilClass (NoMethodError)
from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:24:in `create_config'
from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:36:in `connection'
from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:43:in `dump'
from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:62:in `indexes'
from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/schema:26
Resetting sequences
知道可能是什么原因造成的,我该如何解决?