Grails to proces ładowania początkowego, który jest uruchamiany przy każdym uruchomieniu aplikacji. Jest fajny; możesz go skonfigurować tak, aby robił różne rzeczy w różnych środowiskach.
Jednym z podejść jest wykonanie następujących czynności podczas ładowania początkowego:
1) Przeczytaj plik csv, tworząc obiekty domeny w trakcie pracy.
2) Dla każdego obiektu domeny sprawdź, czy istnieje, a jeśli nie, to tyDomainObject.save()
Otóż to.
dla kodu, coś w stylu
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()}")
}