2010-01-28 49 views
2

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

我做了rake db:test:准备和耙db:migrate RAILS_ENV = test。

此外,我在line_items表中使用了一个名为“price”的列,我使用了一个迁移来移除,但测试无论如何都测试了它并抛出错误。在还原迁移或使用迁移删除列之后,我是否总是应该为测试做些什么?

任何想法?

谢谢!

回答

8

我敢肯定,这是因为你还有一个person_emails夹具文件!它试图在加载灯具数据之前清除表格。检查名为test/fixtures/person_emails.yml的文件并将其删除,并且应该设置。

+0

工作!所以我想当你恢复迁移时,迁移添加到灯具的线不会被删除,并且你必须手动删除它们。 谢谢@ – 2010-01-28 23:32:51