一切似乎都在开发和生产环境中运行良好:
> 脚本/控制台 加载开发环境(Rails 2.3.8) ruby-1.8.7-p302 > Tape.find(:first, :conditions => "deleted_at is not null").deleted_at.nil? => 假的 ruby-1.8.7-p302 > Tape.find(:first, :conditions => "deleted_at is null").deleted_at.nil? => 真
那么为什么我在测试环境中得到完全相反的结果呢?
> 脚本/控制台测试 加载测试环境(Rails 2.3.8) ruby-1.8.7-p302 > Tape.find(:first, :conditions => "deleted_at is not null").deleted_at.nil? => 真
搜索deleted_at is null
永远不会在测试环境中返回任何记录,即使有些调用有deleted_at = nil
并且有些有时间戳。
这是mysql表的部分读数:
mysql> 描述磁带; +-----------------+--------------+------+-----+--- ------+----------------+ | 领域 | 类型 | 空 | 钥匙 | 默认 | 额外 | +-----------------+--------------+------+-----+--- ------+----------------+ | 编号 | 整数(11) | 否 | 优先级 | 空 | 自动增量 | ... | 删除_at | 日期时间 | 是 | | 空 | | +-----------------+--------------+------+-----+--- ------+----------------+
有谁知道发生了什么?这是一个错误吗?