SpringBoot2.0以上无法执行sql脚本
程序员文章站
2022-04-30 15:29:52
...
schema:
- classpath:department.sql
# springboot2.0以上版本需要添加上这个才能执行sql本
initialization-mode: always
原理:
DataSourceInitializer执行创建函数时增加了类型判断
void initSchema() {
List<Resource> scripts = this.getScripts("spring.datasource.data", this.properties.getData(), "data");
if (!scripts.isEmpty()) {
if (!this.isEnabled()) {
logger.debug("Initialization disabled (not running data scripts)");
return;
}
String username = this.properties.getDataUsername();
String password = this.properties.getDataPassword();
this.runScripts(scripts, username, password);
}
}
private boolean isEnabled() {
DataSourceInitializationMode mode = this.properties.getInitializationMode();
if (mode == DataSourceInitializationMode.NEVER) {
return false;
} else {
return mode != DataSourceInitializationMode.EMBEDDED || this.isEmbedded();
}
}
上一篇: so库生成和用法汇总
下一篇: web.xml配置文件简单介绍
推荐阅读
-
Java执行SQL脚本文件到数据库详解
-
Java调用SQL脚本执行常用的方法示例
-
sql 2000 无法执行查询,因为一些文件缺少或未注册"的解决方法
-
Java调用SQL脚本执行常用的方法示例
-
Shell脚本中执行sql语句操作mysql的5种方法
-
SQL Server 存储过程遇到“表 ''#TT'' 没有标识属性无法执行 SET 操作”错误
-
sql 2000 无法执行查询,因为一些文件缺少或未注册"的解决方法
-
MySQL创建用户与授权方法、MySQL查看版本号、MySQL执行SQL脚本的方法
-
MYSQL数据库下执行sql脚本的方法
-
Powershell直接脚本时出现无法加载文件因为禁止执行脚本