Grails proses bootstrap yang berjalan setiap kali aplikasi Anda dimulai. Ini bagus; Anda dapat mengonfigurasinya untuk melakukan berbagai hal di lingkungan yang berbeda.
Salah satu pendekatan adalah melakukan hal berikut di bootstrap:
1) Baca file csv, buat objek Domain sambil jalan.
2) Untuk setiap objek domain, periksa apakah ada, dan jika tidak, lakukan youDomainObject.save()
itu dia.
untuk kode, seperti
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()}")
}