【问题标题】:How can i make a init-sql in Spring Boot-1.4.1-RELEASE我如何在 Spring Boot-1.4.1-RELEASE 中创建一个 init-sql
【发布时间】:2017-03-24 11:22:21
【问题描述】:

我正在开发一个 Spring Boot 应用程序:

使用依赖:

    dependencies {
    compile("org.springframework.boot:spring-boot-starter-web:1.4.1.RELEASE")
    compile('org.springframework.boot:spring-boot-starter-data-jpa:1.4.1.RELEASE')
    compile('mysql:mysql-connector-java:5.1.39')
}

我想在 init 上运行 sql:

SET NAMES 'utf8mb4'

支持表情符号读/写

我在 application.properties 上进行这些配置

spring.datasource.tomcat.init-sql=SET NAMES 'utf8mb4'
spring.datasource.init-sql=SET NAMES 'utf8mb4'
spring.datasource.connection-init-sql=SET NAMES 'utf8mb4'

但我无法让它工作,并且在应用程序启动时没有日志。

【问题讨论】:

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


【解决方案1】:

我想我找到了答案,根据这个answer

正确的属性是:

spring.datasource.tomcat.initSQL=SET NAMES 'utf8mb4'

然后这将在连接时执行。

【讨论】:

    【解决方案2】:

    请看相关的spring-bootdoc

    如上所述,您需要创建一个名为schema.sqlschema-mysql.sql(如果脚本是特定于mysql)的文件,并将您的脚本放在那里。另外,请确保您设置了spring.jpa.hibernate.ddl-auto=none

    您可以阅读文档中的详细信息。

    【讨论】:

    • 我只想执行一些 sql 行:比如 SET NAMES 'utf8mb4',这样行吗?
    • 应该是。 schema.sql 文件是放置 DML 脚本的位置。
    猜你喜欢
    • 2020-07-14
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-22
    相关资源
    最近更新 更多