Spring boot 使用Flyway迁移执行复杂的值指定

Spring boot 使用Flyway迁移执行复杂的值指定,spring-boot,flyway,Spring Boot,Flyway,我的spring boot应用程序使用Flyway。有时我需要添加新的列与Flyway迁移如下 fun addAuthorsNamesColumn(上下文:context){ 上下文 .连接 1.准备陈述( """ 涂改簿 添加作者名称varchar(255)不为空; """ ) .use{statement->statement.executeMigration(“AddAuthorNamesColumn迁移”)} } 迁移本身正如预期的那样运行良好,但问题是我需要为已经存在的图书记录设置默

我的spring boot应用程序使用Flyway。有时我需要添加新的列与Flyway迁移如下

fun addAuthorsNamesColumn(上下文:context){
上下文
.连接
1.准备陈述(
"""
涂改簿
添加作者名称varchar(255)不为空;
"""
)
.use{statement->statement.executeMigration(“AddAuthorNamesColumn迁移”)}
}
迁移本身正如预期的那样运行良好,但问题是我需要为已经存在的图书记录设置默认值。我知道我们可以通过sql来实现,比如
updatetable SET my_column=value

有时可以,但有时我需要更复杂的过程,如以下

BookRepository.findAll()
.forEach{book->
//通过引用每个现有图书记录的作者来设置作者名称默认值
book.authorsNames=book.authors.joinToString(“,”{it.name.value}
保存
}
在Flyway迁移过程中,当我尝试运行上述流程时,出现了异常,因为BookRepository无法根据应用程序上下文进行解析,而我需要使用repository方法来分配流程中的值

在Flyway迁移期间,是否有任何方法执行此过程?或者我应该为此考虑其他选择;例如在启动时使用
@PostConstruct
注释运行逻辑

任何帮助都将不胜感激。谢谢大家!