我现在正试图调试这个几个小时,但我没有取得任何进展。我使用 DataMapper 作为 ORM,使用 SQLite 作为数据库系统:
DataMapper.setup(:default, 'sqlite:db.sqlite')
我有两个模型User
和Game
. 当我向第一个模型添加字段时,一切正常。一旦我添加一个字段Game
(通过 Sinatra 路由或 IRB),所有对 Sinatra 的 HTTP 请求都会超时。所有这些,包括静态资产。我仍然可以通过 IRB ( Game.all
) 访问所有数据库信息。
当我清空数据库 ( DataMapper.auto_migrate!
) 并重新启动服务器 (shotgun + Thin) 时,一切都恢复正常了。
我知道这可能很难回答,但没有任何错误,而且我不知道如何调试它,所以如果你们能指出我正确的方向,我将不胜感激。
那是Game
模型:
class Game
include DataMapper::Resource
property :id, Serial
property :active, Boolean, default: true
property :players, Object
property :name, String, required: true
property :size, Integer
property :filled_size, Integer, default: 1
end
也许我正在使用 SQLite 不支持的某种类型?