Grails процесс начальной загрузки, который запускается при каждом запуске вашего приложения. Его изящный; Вы можете настроить его, чтобы делать разные вещи в разных средах.
Один из подходов заключается в следующем: при загрузке выполните следующие действия:
1) Прочитайте файл csv, создавая объекты домена по ходу работы.
2) Для каждого объекта домена проверьте, существует ли он, а если нет, то doDomainObject.save ()
вот и все.
для кода, что-то вроде
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()}")
}