アプリが起動するたびに実行されるブートストラッププロセスを取得します。その気の利いた;さまざまな環境でさまざまなことを実行するように構成できます。
1つのアプローチは、ブートストラップで次のことを行うことです。
1)csvファイルを読み取り、ドメインオブジェクトを作成します。
2)ドメインオブジェクトごとに、存在するかどうかを確認し、存在しない場合はyouDomainObject.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()}")
}