猿问

Spring Boot 与 H2 数据库自动创建

我正在通过 Spring Boot 在我的 Java 应用程序中使用嵌入式 H2。目前,它在数据库中创建(覆盖)我的表。但是一旦我将它推向生产,我不希望我的表被擦除和重新创建,所以我不会丢失表中以前的数据。但我不确定如何实现这一点。不知道该放什么就行了 spring.jpa.hibernate.ddl-auto=create。我尝试了验证和其他选项,但没有成功。这是我的 application.properties。谢谢


spring.jpa.generate-ddl=true

spring.jpa.hibernate.ddl-auto=create

spring.jpa.properties.hibernate.show_sql=true

spring.jpa.properties.hibernate.use_sql_comments=true

spring.jpa.properties.hibernate.format_sql=true

spring.datasource.initialization-mode=always

spring.jpa.hibernate.naming.physical- 

strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl


守着一只汪
浏览 673回答 3
3回答

噜噜哒

您应该在此处使用更新:spring.jpa.hibernate.ddl-auto=update如果表尚未定义,这将在启动时构建表,否则将保持原样。此外,当您这样做时,您可能希望删除该行:spring.jpa.generate-ddl=true最后,最好的方法是为不同的环境设置不同的属性集,或者通过将它们作为运行时变量传入,或者理想情况下使用 spring config server 之类的东西将它们外部化。

沧海一幻觉

我在下面丢失了。spring.jpa.hibernate.ddl-auto=更新
随时随地看视频慕课网APP

相关分类

Java
我要回答