Graals en bootstrap-proces, der kører, når din app starter. Dens smarte; du kan konfigurere den til at gøre forskellige ting i forskellige miljøer.
En tilgang er at gøre følgende i bootstrap:
1) Læs csv-filen, opret domæneobjekter, mens du går.
2) For hvert domæneobjekt skal du kontrollere, om det findes, og hvis ikke, gør youDomainObject.save()
det er det.
for kode, noget som
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()}")
}