Hibernate Spring启动-有条件加载初始数据

Hibernate Spring启动-有条件加载初始数据,hibernate,spring-boot,junit,spring-data-jpa,spring-data,Hibernate,Spring Boot,Junit,Spring Data Jpa,Spring Data,我已经设置了Spring启动应用程序,以便在启动时填充H2嵌入式数据库。我通过在src/main/resources文件夹中创建一个data.sql文件来实现这一点 我不明白的是,是什么导致它在启动时运行 另外,我想让它有条件-例如,在我运行单元测试时阻止它执行。这可能吗 有人问了一个类似的问题,但没有解决。导致加载data.sql文件的机制在第85.3章的Spring文档中进行了描述 当没有通过属性spring.datasource.data设置脚本时,data.sql文件名是回退文件名(有关

我已经设置了Spring启动应用程序,以便在启动时填充H2嵌入式数据库。我通过在
src/main/resources
文件夹中创建一个data.sql文件来实现这一点

我不明白的是,是什么导致它在启动时运行

另外,我想让它有条件-例如,在我运行单元测试时阻止它执行。这可能吗


有人问了一个类似的问题,但没有解决。

导致加载data.sql文件的机制在第85.3章的Spring文档中进行了描述

当没有通过属性
spring.datasource.data
设置脚本时,data.sql文件名是回退文件名(有关常用spring属性的列表,请查找与数据源相关的属性)


因此,对于您的用例,请将dml脚本重命名为类似于
data default.sql
data test.sql
的名称,并在application.yml或属性文件中设置它们特定于配置文件。

是否要基于spring配置文件加载数据?我不知道。我对这一切都不熟悉,所以仍在努力想办法。关于你如何做到这一点的简短解释在这里由我回答:未来的读者。。您可以在这里找到一个“SpringProfile”驱动的答案:此外,我建议使用高级数据库迁移实用程序来设置数据库