为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot 与 H2 数据库自动创建

Spring Boot 与 H2 数据库自动创建

守着一只汪 2021-06-21 15:26:08
我正在通过 Spring Boot 在我的 Java 应用程序中使用嵌入式 H2。目前,它在数据库中创建(覆盖)我的表。但是一旦我将它推向生产,我不希望我的表被擦除和重新创建,所以我不会丢失表中以前的数据。但我不确定如何实现这一点。不知道该放什么就行了 spring.jpa.hibernate.ddl-auto=create。我尝试了验证和其他选项,但没有成功。这是我的 application.properties。谢谢spring.jpa.generate-ddl=truespring.jpa.hibernate.ddl-auto=createspring.jpa.properties.hibernate.show_sql=truespring.jpa.properties.hibernate.use_sql_comments=truespring.jpa.properties.hibernate.format_sql=truespring.datasource.initialization-mode=alwaysspring.jpa.hibernate.naming.physical- strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
查看完整描述

3 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

您应该在此处使用更新:

spring.jpa.hibernate.ddl-auto=update

如果表尚未定义,这将在启动时构建表,否则将保持原样。

此外,当您这样做时,您可能希望删除该行:

spring.jpa.generate-ddl=true

最后,最好的方法是为不同的环境设置不同的属性集,或者通过将它们作为运行时变量传入,或者理想情况下使用 spring config server 之类的东西将它们外部化。



查看完整回答
反对 回复 2021-06-30
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

我在下面丢失了。

spring.jpa.hibernate.ddl-auto=更新


查看完整回答
反对 回复 2021-06-30
  • 3 回答
  • 0 关注
  • 672 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信