恢复迁移后,rails测试表不存在

时间:2010-01-28 04:26:27

标签: ruby-on-rails unit-testing

我认为这是一个非常愚蠢的问题:我刚刚删除了一个名为person_emails的表,这是我在半小时前创建的一个新的演示应用程序中创建的。然后我就像刚刚开始测试一样,当我在一个名为line_item的无关模型上运行单元测试时,我得到了“ActiveRecord :: StatementInvalid:Mysql :: Error:Table'depot_test.person_emails'不存在:DELETE FROM {{ 1}}“

我做了rake db:test:prepare和rake db:migrate RAILS_ENV = test。

另外,我在line_items表中使用了这个名为“price”的列,我使用了一个迁移来删除,但是测试仍然测试它并抛出错误。在恢复迁移或使用迁移删除列之后,我是否应该为测试做些什么?

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:9)

我很确定这种情况正在发生,因为你还有一个person_emails夹具文件!它正在尝试在加载夹具数据之前清除该表。检查名为test/fixtures/person_emails.yml的文件并将其删除,然后设置。