2010-08-08 57 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模式,因爲那樣你就不會忘記你必須將轉移代碼簽入源代碼管理系統供團隊中的其他人使用。但是,事實上,首先從模型開始就比較容易。