CWIKIUS
  • 首页
  • 计算科学
  • 房地产
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
CWIKIUS.CN
一个有独立思考和温度的清新站
  1. Home
  2. Computer Science
  3. Spring
  4. This article

Spring 数据初始化的时候没有执行 SQL

2020年10月22日 225Browse 0Like 0Comments

Spring Boot 项目在启动的时候可以对 H2 中的数据库进行初始化。

一般来说我们会定义下面的参数:

spring.datasource.data=classpath:h2-data.sql

但是在 Spring Boot 项目运行以后,我们通过 H2 的控制台查看数据库的时候,发现 SQL 脚本没有执行。

问题原因和解决

我们都知道 Spring 数据库有下面 2 个配置参数:spring.datasource.schema 和 spring.datasource.data。

spring.datasource.schema 中定义的是数据库执行脚本,包括创建数据库表和关系等 DDL 脚本。

Spring 中这里有个小坑,如果在配置参数中不定义 spring.datasource.schema, 而直接spring.datasource.data 定义的话,spring.datasource.data 中定义的脚本是不会执行的。

因此你需要先定义 spring.datasource.schema,可以做的是:

  • 在 resources 文件夹中定义一个空的 schema.sql 文件。
  • 将所有的创建数据库脚本和插入数据的脚本放到 spring.datasource.schema 中定义

 

Spring-H2-sql-01

 

然后通过控制台可以查看根据数据库创建脚本创建的数据库表。

 

https://www.ossez.com/t/spring-sql/603

Tags: None
Last updated:2020年10月22日

HoneyMoose

有温度的人文和独立的思考

Like
< Previous
Next >

Comments

Cancel reply

Categories
  • Akka
  • Algorithm(算法)
  • AMQP
  • Angular
  • CI
  • Compile And CI
  • Computer Science
  • Confluence
  • DataBase
  • Gradle
  • Hibernate
  • IDE
  • Java
  • Jersey
  • Jira
  • MariaDB
  • PrestaShop
  • Spring
  • Spring Batch
  • U.S.
  • U.S. Travel
  • USRealEstate
  • 我的小厨

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1