不知道爲什麼我在我的日誌中得到這個錯誤。這種錯誤經常發生,但不一致,我不知道爲什麼。這裏是我的代碼:Sinatra,DataMapper:沒有這樣的表錯誤
require 'rubygems'
require 'sinatra'
require 'data_mapper'
DataMapper::Logger.new($stdout, :debug)
DataMapper.setup(:default, 'sqlite3::memory:')
class LevelStatus
include DataMapper::Resource
property :id, Serial
property :italian, Float
property :hairbender, Float
property :decaf, Float
end
DataMapper.finalize
LevelStatus.auto_migrate!
post '/update-levels' do
@status = LevelStatus.create(
:italian => params[:italian],
:hairbender => params[:hairbender],
:decaf => params[:decaf]
)
status 200
end
當我POST
到/update-levels
有時我得到的消息:
DataObjects::SyntaxError - no such table: level_statuses
什麼是錯我的代碼,這是造成這個錯誤?
如果你指定一個文件,而不是使用SQLite3內存存儲,它是否工作? – dkubb
類似的問題(和可能的解釋)在這裏:http://stackoverflow.com/questions/6904298/no-such-table-error-from-sqlite-memory-db-via-datamapper – matt
啊,所以它看起來像在內存SQLite數據庫是問題。將其更改爲文件支持的數據庫應該可以解決問題。我會嘗試的。 – Andrew