2010-08-08 56 views
2

我想知道,我应该先在Rails中创建模型还是迁移?首先在Rails中进行模型或迁移?

我一直在关注BDD,首先测试,然后是实际代码。这给了我一个从TOP到BOTTOM的见解。

我听到有人说:首先模型和它们的关联,然后通过迁移来为它们创建数据库。迁移/表适应模型,而不是相反。

那么这是否意味着在这里采用TOP-DOWN方法也很明智,首先是模型(关联,验证),然后是迁移?

回答

1

从技术上讲,使用BDD,TDD红绿重构原则,您可以先创建规范或功能。

describe MyModel do 
    it "should exist" 
end 

然后运行测试,并让它失败,因为你没有一个模型为MyModel,

class MyModel< ActiveRecord::Base 
end 

然后编写模型代码,然后再次运行测试。这次它会失败,因为没有包含该型号名称的表名,此时您将编写迁移。在运行迁移之后,您应该能够处于绿色状态(在我的rspec示例中处于等待状态),因为规范只是被删除了。

+0

“stub”是什么意思? – 2010-08-08 17:36:02

+0

存根在这个词的意义上是规范'它'应该存在''将返回挂起(现在我编辑的代码)当你运行规范,又名残留的方法。真正意义上的单词存根是一种'假'的方法。 http://rspec.info/documentation/mocks/ – 2010-08-09 01:21:00

1

如果您使用Rails附带的模型生成器,那么模型和迁移通常会在一个步骤中创建。我不确定你的意思是“迁移/表格采用模型,而不是”。表格是模型存储数据的地方,因此两者都是不可或缺的。

0

因为车型不迁移是无用的去与模型生成(一旦双方在),但无论如何你必须为了测试模型

0

最好的做法是先创建迁移创造了DB模式,因为那样你就不会忘记你必须将转移代码签入源代码管理系统供团队中的其他人使用。但是,事实上,首先从模型开始就比较容易。