我有一個簡單的Sinatra應用程序,並且正在嘗試使用mysql適配器連接DataMapper。代碼的相關部分看起來像這樣`quote_string:沒有從nil到integer的隱式轉換`用sinatra上的數據映射程序
DataMapper.setup(:default, ENV['DATABASE_URL'])
class Category
include DataMapper::Resource
property :id, Serial
property :name, String
end
DataMapper.finalize.auto_upgrade!
我已經加倍檢查了一切。我正在使用Sinatra的模塊化模式。我在模塊的頂部有require 'data_mapper'
。 Mysql服務器已啓動並正在運行。但每當我rackup
,我得到以下錯誤:
Warning: Command failed: /dev/app/.bundle/gems/data_objects-0.10.14/lib/data_objects/quoting.rb:12:in `quote_string': no implicit conversion from nil to integer (TypeError)
我搜索了一高一低的答案,但我能找到的唯一的事情就是一個人暗示紅寶石升級從2.0到2.1。我不能這樣做,因爲這是部署到Openshift,其中最高的紅寶石是2.0。任何其他建議,爲什麼這可能會發生?
編輯:忘了補充一點,DATABASE_URL
被填充罰款,我也通過openshift和升級安裝rbenv到2.1+紅寶石安裝dm-mysql-adapter