將種子(初始或測試)數據加載到grails應用程序的最佳方式是什麼?我正在考慮3個選項Grails應用程序的種子數據
- 將所有內容放入* BootStrap.groovy文件中。如果域類和測試數據很多,這是很乏味的。
- 編寫自定義功能以通過xml加載它。 groovy可以提供優秀的xml支持,但不會太困難,但是對於不同的域類,很多switch語句。
- 使用Liquibase LoadData api。我發現你可以很容易地從csv文件加載數據。
選擇3似乎是最簡單的。但是,我不熟悉Liquibase。在這種情況下它好,或者只用於遷移,DB變化等,如果任何人都可以提供更好的溶膠,或點與Liquibase一個例子,這將是很大的幫助..
Grails RunScript:但是如果我們想在QA或UAT環境中執行此操作,該方法要求我們在服務器上擁有「grails上下文」,不是嗎? grails run-script需要grails以及服務器中安裝的項目(源代碼),對吧? grails run-script會在grails開發環境之外工作嗎? – arrehman 2012-02-27 23:32:32
在這種情況下,您可能需要查看控制檯或遠程控制插件。使用控制檯插件,您可以在具有完全訪問權限的正在運行的實例上運行腳本或任意groovy代碼。請記住,這應該在生產部署中被禁用或嚴密保護。 – ahanson 2012-03-01 21:25:18