Spring Boot-有条件地加载初始数据

时间:2018-11-18 15:21:18

标签: hibernate spring-boot junit spring-data-jpa spring-data

我已经设置了Spring Boot应用程序,以便在启动时填充H2嵌入式数据库。我是通过在src/main/resources文件夹中创建一个data.sql文件来完成此操作的。

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

此外,我想将此条件设为-例如阻止我在运行单元测试时执行它。这可能吗?

有人问过类似的问题here,但尚未解决。

1 个答案:

答案 0 :(得分:2)

Spring文档第85.3 Database Initialization

章中描述了导致data.sql文件加载的机制。

当未通过属性spring.datasource.data设置任何脚本时,data.sql文件名是后备文件名(有关常见的Spring属性的列表,请转到here并查找与数据源有关的属性)

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