Grails proces bootstrap, který se spustí při každém spuštění aplikace. Je to šikovné; můžete jej nakonfigurovat tak, aby dělal různé věci v různých prostředích.
Jedním z přístupů je provést v bootstrapu následující:
1) Přečtěte si soubor csv a za pochodu vytvářejte objekty Domain.
2) U každého objektu domény zkontrolujte, zda existuje, a pokud ne, proveďte youDomainObject.save()
a je to.
pro kód něco jako
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()}")
}