【发布时间】:2018-07-02 05:38:41
【问题描述】:
您好,我使用的是 Spring Boot 1.5.9 版。
当使用 Spring Boot 为 mysql 数据库初始化 schema.sql 时,一切正常,并且数据库模式已成功创建。但在应用程序重新启动时,此schema.sql 脚本再次执行,应用程序无法启动,因为表已经存在。
我在application.properties 中尝试了spring.jpa.hibernate.ddl-auto=create-drop 选项,但它没有任何效果(可能是因为它只适用于我没有使用的Hibernate 实体)
如果数据库不在内存中,是否有办法让 Spring Boot 在每次重启时都从 schema.sql 重新创建架构?
GitHub: https://github.com/itisha/spring-batch-demo/tree/database-input
【问题讨论】:
-
请出示您的代码
-
你试过类似
spring.jpa.hibernate.ddl-auto=create-update- -
@Bhushan Uniyal 在描述的底部添加了指向 Github 的链接 @Zorglube
create-update似乎是一个无效的选项,但我尝试了update,没有帮助( -
@Bhushan Uniyal github 链接指向错误的分支,刚刚修复,抱歉
-
@ITisha 我已经浏览了你的代码,我认为最好的事情和最佳实践是你需要使用 liquibase 它就像你的代码的 git,Liquibase 是一个开源的数据库独立库,用于跟踪,管理和应用数据库模式更改。 liquibase.org
标签: java mysql spring-boot database-schema