我已经设置了Spring Boot应用程序,以便在启动时填充H2嵌入式数据库。我是通过在src/main/resources
文件夹中创建一个data.sql文件来完成此操作的。
我不明白的是什么导致它在启动时运行。
此外,我想将此条件设为-例如阻止我在运行单元测试时执行它。这可能吗?
有人问过类似的问题here,但尚未解决。
答案 0 :(得分:2)
Spring文档第85.3 Database Initialization
章中描述了导致data.sql文件加载的机制。当未通过属性spring.datasource.data
设置任何脚本时,data.sql文件名是后备文件名(有关常见的Spring属性的列表,请转到here并查找与数据源有关的属性)
因此,在您的用例中,将dml脚本重命名为data-default.sql
和data-test.sql
之类,并在application.yml或属性文件中设置特定于配置文件的文件。