所以我必須在遷移了一些數據加載,例如由用戶表時會創建一個默認的用戶和某些用戶角色的創建(如foo_admin)在創建時的FOOS表被製成。製作黃瓜運行遷移,而不是架構負載
問題是黃瓜不喜歡這個,因爲它做架構加載。
我可以讓黃瓜只是運行遷移,或者是否有更好的做法來做這種事情?機械師被用作工廠(無夾具!)
所以我必須在遷移了一些數據加載,例如由用戶表時會創建一個默認的用戶和某些用戶角色的創建(如foo_admin)在創建時的FOOS表被製成。製作黃瓜運行遷移,而不是架構負載
問題是黃瓜不喜歡這個,因爲它做架構加載。
我可以讓黃瓜只是運行遷移,或者是否有更好的做法來做這種事情?機械師被用作工廠(無夾具!)
請勿使用遷移來加載數據。它被廣泛認爲是一種不好的做法,因爲在構建schema.rb時數據加載不會被保留。
從耙子任務負載數據,或者,你可以連接到您的env.rb另一種方法文件的開始博客
begin do
Role.create :name=>"admin"
`rake RAILS_ENV="test" db:load_data_for_testing `
end
或者類似的東西。
我遇到了類似的問題,並追溯回抽傭的依賴關係。我的解決方案是直接運行黃瓜腳本而不使用耙子,但是這可能需要在Rails中進行一些配置(Merb會在框中運行)。另一種解決方案是覆蓋rake任務,取決於db:migrate而不是db:load_schema。
注意:我對最近版本的rails有一點經驗可能也可以在加載模式文件的bin/cucumber腳本或env.rb文件中。