Spring Boot schema.sql-重新启动时删除数据库架构

ITi*_*sha 2 java mysql database-schema spring-boot

嗨,我正在使用Spring Boot版本1.5.9。

当使用Spring Boot初始化schema.sqlmysql数据库时,一切正常,并且数据库架构被成功创建。但是在重新启动应用程序时,该schema.sql脚本将再次执行,并且由于表已存在,因此应用程序无法启动。

我尝试了spring.jpa.hibernate.ddl-auto=create-drop选项,application.properties但没有任何效果(可能是因为它仅适用于我未使用的Hibernate实体)

schema.sql如果数据库不在内存中,是否有一种方法可以让Spring Boot在每次重启时重新创建架构?

GitHub:https : //github.com/itisha/spring-batch-demo/tree/database-input

Sta*_*lav 5

根据文档,您可以通过将spring.datasource.continue-on-errorproperty 设置为true

Spring Boot默认情况下启用Spring JDBC初始化程序的快速失败功能,因此,如果脚本导致异常,则应用程序将无法启动。您可以使用spring.datasource.continue-on-error进行调整。

甚至将其spring.datasource.initialize设置为false

您还可以通过将spring.datasource.initialize设置为false来禁用初始化。