我应该如何控制liquibase和springboot data.sql之间的执行顺序?

7eumitmz  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(535)

我们有一个(公司内部的,项目外部的)库(jar),它包含一些液化脚本,用于将表添加到模式中,以支持该库的功能。
使用springboot和maven来运行h2的集成测试,我们一直在使用属性文件中列出的sql文件来初始化db。
我们希望能够将数据添加到由外部(项目)库为its创建的表中,但是当springboot/springdata尝试运行sql文件中的insert语句时,查找liquibase尚未创建的表。
考虑到我们看到的错误(当spring尝试运行insert.sql文件时,表不存在),spring似乎在liquibase完成它的工作之前执行这些文件。
在spring运行spring.datasource.data属性指定的sql文件之前,如何确保库为创建表而运行的liquibase配置已经完成?
我们并不想将测试数据包含在库中(库正在工作,但是引入了其他版本,我们正在尝试使用liquibase将测试数据插入到生产数据库中)。

k4ymrczo

k4ymrczo1#

在测试中使用不同的上下文怎么样?
所以你必须 application.properties 在你的 test 文件夹中,您将定义另一个changelog,其中将包括所需的所有changelog(甚至来自库),您还将包括 .sql 您可能正在用jpa运行的文件?如果有帮助的话,试着看看这里。

相关问题