Grails een bootstrap-proces dat wordt uitgevoerd wanneer uw app wordt gestart. Het is handig; je kunt het configureren om verschillende dingen in verschillende omgevingen te doen.
Een benadering is om het volgende te doen in bootstrap:
1) Lees het csv-bestand en maak gaandeweg domeinobjecten.
2) Controleer voor elk domeinobject of het bestaat, en zo niet, doe youDomainObject.save()
dat is het.
voor code, zoiets als
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()}")
}