繁体   English   中英

将初始数据导入Spring Boot应用程序

[英]import initial data into spring boot app

根据文档http://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html在启动时导入数据,您可以在application.properties中定义以下两个属性:

spring.datasource.data=data.sql
spring.datasource.schema=schema.sql

当您同时拥有这两个文件时,此方法有效,但我没有架构。 我正在使用休眠生成数据库模式

spring.jpa.hibernate.ddl-auto=create-drop

先前的解决方法是使用Spring Boot导入数据,是为schema.sql空白定义文件,但此方法不再起作用。 我将得到文件不能为blank or null异常。

在春季应用中,我简单地定义了

<jdbc:initialize-database data-source="simpleDataSource">
    <jdbc:script location="classpath:dbscripts/data.sql"/>
</jdbc:initialize-database>

而且有效。

springBoot中是否也有同样的行为?

只需删除schema.sql + config选项,Spring Boot应该会自动选择sata.sql

根据spring源代码-仅当schema.sql文件存在且不为空时,才会调用data.sql 所以,如果你只从需要的脚本data.sql添加一些简单的查询schema.sql

SELECT 1;

还要在application.properties添加

spring.datasource.initialization-mode=always

因为默认值仅用于嵌入式数据源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM