將開發數據庫中的數據複製到測試數據中是否有任何微不足道的方法?我知道這是一種複製模式並重新創建數據庫的方法,但是有沒有任何使用開發工具填充測試數據庫的rake任務?Rails - 使用開發數據填充測試數據庫
回答
您可以MySQL的直接使用:
mysqldump app_development | mysql app_test
您可以使用:
rake db:test:clone
要開發數據庫複製到測試。
根本不適用於我。結構已創建,但沒有記錄被複制。該任務是否需要複製數據?描述並不直接指出。 – mdrozdziel 2010-04-15 12:56:20
它沒有爲我工作。測試數據庫似乎是空的... – 2011-06-15 19:44:48
db:test:clone是db:schema:dump和db:test:prepare的組合,並且實際上並不複製* data * – JohnMetta 2012-07-23 17:35:03
如果你只是想克隆的發展DB的全部,這有什麼錯只是複製development.sqlite3和重命名test.sqlite3?您可以通過設置可從命令行運行的批處理文件(或您的操作系統上的等效文件)來自動執行此過程。
這將在本地工作,但我只是意識到你可能會想到一個非本地環境,在這種情況下,它可能不會。
的另一種方法,如果你使用的種子(DB/seeds.rb)
首先,添加rake任務,例如以LIB /任務/ test_seed.rake與此代碼:
namespace :db do
namespace :test do
task :prepare => :environment do
Rake::Task["db:seed"].invoke
end
end
end
然後當你通過遷移和種子改變了你的數據庫結構/內容,您可以運行
rake:db:test:prepare
要複製的模式和種子數據。
所以完整的步驟將是:
rake db:migrate
rake db:seed
rake db:test:prepare
如果你在rake db:seed之後運行'rake db:test:prepare' '它會刪除你的種子數據=] – professormeowingtons 2013-07-02 20:43:52
在Postgres,複製數據庫,像這樣:
創建模板originaldb DATABASE NEWDB OWNER dbuser;
- 1. 使用生產數據庫值填充開發數據庫
- 2. 使用測試數據填充內存數據庫的模式
- 3. 在Rails中使用Sqlite3測試數據庫和Postgres開發/生產數據庫
- 4. Rails:使用開發數據庫進行測試
- 5. 如何用開發數據填充生產數據庫(heroku)? (Rails)的
- 6. 使用數據庫數據填充jTable
- 7. 使用數據庫數據填充圖
- 8. 使用外部API請求數據填充rails數據庫
- 9. Rails:使用development.sqlite3數據填充Heroku數據庫
- 10. jgster將測試數據填充到生產數據庫中
- 11. 在rails中使用測試數據庫
- 12. Doctrine 2「演示」數據 - 使用開發數據填充表格
- 13. 使用irb填充數據庫
- 14. Rails測試數據,在數據庫中
- 15. 如何使用mongoid在rails3中填充開發數據庫?
- 16. 從rails/postgresql的開發數據庫重新創建測試數據庫?
- 17. 數據填充數據在數據庫
- 18. 用樣本數據填充數據庫
- 19. 手動填充Rails數據庫
- 20. Rails:使用數據填充模態
- 21. 用數據庫中的數據填充jquery自動填充
- 22. 不能填充測試的Postgres數據庫軌控制檯
- 23. 如何在測試數據庫中填充表?
- 24. Rails 5測試數據庫與開發不同步
- 25. 將Rails 3測試夾具加載到開發數據庫中
- 26. 預先填充內存SQLite數據庫用於Nhibernate測試
- 27. 從開發數據庫中分離Sinatra應用程序的測試數據庫?
- 28. 用於測試目的將數據預填充到數據庫中
- 29. 使用JRuby與Oracle數據庫填充數據庫
- 30. Coredata數據庫預填充未填充
如果你沒有使用mysql,@ j0k到目前爲止已經得到了最好的答案:rake db:test:clone && rake db:seed RAILS_ENV ='test' – Krut 2012-12-05 08:48:01