Spring Boot不输出schema.sql与data.sql中SQL语句的日志问题
Spring Boot启动时schema.sql/data.sql日志未输出的解决办法
可能的原因及解决方案
1. 确认脚本文件位置
schema.sql和data.sql必须放在src/main/resources根目录下,若使用自定义路径,需在application.properties中显式指定:
spring.sql.init.schema-locations=classpath:custom/schema.sql spring.sql.init.data-locations=classpath:custom/data.sql
2. 强制开启SQL初始化模式
默认情况下Spring Boot仅在数据库为空时执行初始化脚本,添加以下配置可强制每次启动都执行脚本:
spring.sql.init.mode=always
3. 确保日志级别配置生效
检查日志级别配置是否正确,注意DEBUG的大小写(Spring Boot兼容大小写,但规范写法为大写):
logging.level.springframework.jdbc.datasource.init.ScriptUtils=DEBUG
同时确认没有其他日志配置文件(如logback.xml)覆盖该级别设置。
4. 验证脚本是否实际执行
添加H2控制台配置,启动后手动连接数据库查看表结构和数据,确认脚本是否真的执行:
spring.h2.console.enabled=true spring.h2.console.path=/h2-console
访问http://localhost:8080/h2-console,使用默认连接参数(jdbc:h2:mem:testdb)登录查看。
5. 排查脚本执行错误
若脚本存在语法错误,可能导致执行中断且无日志输出,添加以下配置允许错误继续并输出相关日志:
spring.sql.init.continue-on-error=true
内容的提问来源于stack exchange,提问作者dark_prince
相关产品推荐
相关产品推荐

