Grails en bootstrap-process som körs när din app startar. Dess fiffiga; du kan konfigurera den för att göra olika saker i olika miljöer.
Ett tillvägagångssätt är att göra följande i bootstrap:
1) Läs csv-filen, skapa domänobjekt allt eftersom.
2) För varje domänobjekt, kontrollera om det finns, och om inte gör youDomainObject.save()
det är allt.
för kod, något liknande
new File(filePath).splitEachLine(',') {fields ->
def domainObject = new YouDomainObject(
id: fields[0].trim(),
name: fields[1].trim()
)
if (domainObject.hasErrors() || domainObject.save(flush: true) == null) {
log.error("Could not import domainObject ${domainObject.errors}")
}
log.debug("Importing domainObject ${domainObject.toString()}")
}