我有一堆数据存在于一个单独的文件中,并试图弄清楚如何在grails应用程序启动时自动将这些数据加载到db中。
答案 0 :(得分:4)
我将json文件放入grails-app/conf/resources
并编辑Bootstrap.groovy
。
在文件的顶部,我注入了grails应用程序:
class BootStrap {
def grailsApplication
...
后来我加载了数据:
if (!Cars.count()) {
// add cars
def filePath = "resources/carsData.json"
def text = grailsApplication.getParentContext().getResource("classpath:$filePath").getInputStream().getText()
def json = JSON.parse(text)
for (carData in json) {
def c = new Cars(
name: carData ["name"],
year: carData ["year"]
).save(failOnError: true);
}
}