我需要填寫
測試
開發數據庫的數據,例如從factorygirl
,但我想從軌道控制檯使用它。
我如何將示例數據放入分貝中,以便我可以從控制檯獲取它並在那裏做一些測試?最好的方式來填補開發數據庫在軌道
回答
Faker也是一個很好的解決方案。
以下是我的lib/tasks/sample_data.rake
的外觀。我用rake db:populate
運行它。
用隨機信息創建50個條目。
require 'faker'
namespace :db do
desc "Fill database with sample data"
task :populate => :environment do
Rake::Task['db:reset'].invoke
50.times do |n|
name = Faker::Company.name
year = 1900+rand(111)
rating = 1+rand(10)
watched = (1 == rand(2) ? true : false)
imdb_id = rand(1000000)
Movie.create!(:name => name,
:year => year,
:rating => rating,
:watched => watched,
:imdb_id => imdb_id)
end
end
end
它應該是'lib/tasks/sample_data.rake' ...文件後綴是錯誤的,耙子找不到這個任務! – zhongxiao37 2012-03-30 08:45:38
這太棒了,謝謝分享。 – 2014-02-14 06:58:00
我製作了一個像Factory Girl一樣的gem test_dummy來定義大量假數據。如果配置正確,你可以做這樣的事情:
# Create 100 fake companies
100.times { Company.create_dummy }
# Create a single fake company on-demand
fake_company = Company.create_dummy
另一種方法是使用db/seeds.rb
設施或在您的夾具加載到你的開發環境。
它只是在Rails控制檯或只是'從控制檯'?
我喜歡用Thor或Rake任務來做到這一點。我使用機械師而不是工廠女孩。
你可能要檢查這個答案
Rails: Good Rspec2 example usage? (Also: Cucumber, Pickle, Capybara)
邁克爾·哈特爾提供了一個很好的介紹這個話題作爲railstutorial.org計劃的一部分。
他使用名爲Factory Girl的gem,該gem旨在簡化使用樣本數據填充數據庫的過程。
E.G.
http://ruby.railstutorial.org/chapters/user-microposts#sec:sample_microposts
https://github.com/railstutorial/sample_app/blob/master/lib/tasks/sample_data.rake
- 1. 最好的方式來使用LINQ來填補空白,我的數據
- 2. 軌最好的方式來抽象深對象文本數據
- 3. 安全且最好的方式猴子補丁一軌道寶石
- 4. 最好的方式來顯示數據
- 5. 最好的方式來保存數據
- 6. 最好的方式來映射數據?
- 7. 更好的方式來更新PolyLine軌道的GPS讀數
- 8. 最好的方式來存儲和檢索數據在Android中的數據庫
- 9. 最好的方式來測試數據庫/連接
- 10. 產品和變種 - 最好的方式來設計數據庫
- 11. 最好的方式來存儲郵件數據庫(後綴)
- 12. 在PHP中切換開發數據庫的最佳方式?
- 13. 最好開始在C++中開發數據庫接口?
- 14. 請提出一個更好的方式來組織開發數據庫
- 15. 軌道開發數據庫的測試記錄
- 16. 什麼是最好的方式來設置固定對象的軌道關係
- 17. 最簡單的方式來填補工作日表
- 18. 更好的方式來組織軌道路線?
- 19. 正確的方式來序列化數據庫中的JSON與軌道
- 20. 從開發到生產遷移數據庫 - 軌道
- 21. 軌道 - 開發數據庫沒有配置
- 22. 最好的方式來獲得表MYSQL最相關的數據
- 23. 最好的方式來更新android數據庫(現在我正在使用sugarORM)
- 24. 自動填充數據庫與用戶相關的模式在軌道
- 25. 軌道4更好的方式來寫軌更新和查找記錄
- 26. 軌道的最佳pdf庫
- 27. 最好的方法來轉換數據
- 28. 最好的格式來接收數據
- 29. 最好的方式來在硒時間
- 30. 最好的方式來描述在SQL
檢查http://stackoverflow.com/questions/1050047/how-to-run-rails-console-in-the-test-environment-and-load-test-helper-rb。希望它能幫助你 – 2011-03-17 18:32:20
爲什麼你在測試數據庫中需要這個?不會僅僅爲你開發工作嗎?通常測試數據庫會被重置並重新創建,以至於無法預先填充任何大量的數據 – 2011-03-17 18:33:24
編輯我的問題,當然我的意思是開發數據庫。 – methyl 2011-03-17 18:45:08