我通过 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
您应该在这里使用更新:
spring.jpa.hibernate.ddl-auto=update
如果表尚未定义,这将在启动时构建表,否则将保持原样。
另外,当您这样做时,您可能需要删除该行:
spring.jpa.generate-ddl=true
最后,最好的方法是为不同的环境设置不同的属性集,或者将它们作为运行时变量传递,或者理想情况下使用 spring 配置服务器之类的东西将它们外部化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)