我有一个迁移,包括以下类型:
create_table :products do |t|
t.boolean :overdue
end
在我的开发设置中(Postgresql 9.1,rails 3.2.11)我必须测试
p.overdue == "t" # or
p.overdue == "f"
p.overdue?或p.overdue == true或p.overdue == false不起作用。
在heroku上(我怨恨创建了测试应用程序,所以我猜ts cedar,PG 9.1也是如此)我可以测试p.overdue?或者p.overdue == true,而对字符串“t”或“f”的测试不起作用。
我在开发设置中缺少一些配置选项吗?
答案 0 :(得分:1)
schema.rb有t.binary,而迁移表示t.boolean。这是我纠正的一个错误,但我只是运行
rake db:reset
仅重新加载架构,但不运行迁移。要么更正架构并再次运行db:reset,要么运行更好:
rake db:drop
rake db:create
rake db:migrate