spring.jpa.hibernate.ddl-auto=validate 是否会更改数据库模式?

San*_*hit 5 hibernate jpa spring-data spring-boot

在生产环境中,我使用 spring.jpa.hibernate.ddl-auto=validate 但我发现新列会自动添加到我的生产数据库中。

我已经用虚拟应用程序完成了一个小型 POC,它没有在我的本地系统上添加列。

谁能帮助我了解财产可能存在的问题spring.jpa.hibernate.ddl-auto=validate

任何帮助表示赞赏。

PFA 我访问了文档但没有获得足够的详细信息: 在此输入图像描述

文档 URL: 在此处输入链接描述

Jen*_*der 1

validate不应更改您的数据库架构。

如果确实如此,您应该提出问题,尽管我怀疑这是否是真正发生的事情。

我认为更有可能的是

  • 您有多种配置,并且有一种不同的配置,那么您正在查看的配置就会被选中。
  • 完全不同的是你的数据库模式。

为了调试这种情况,请执行以下操作:

  1. 确保您可以重现模式更改行为,例如通过添加和删除实体。
  2. 逐步从项目中删除重现行为不需要的所有内容。这应该会给您留下一个小项目:一个构建文件、一个实体、一个代表您的应用程序以启动所有内容的类,也许是一两个配置文件。

如果您确实成功完成了步骤 2,同时仍然重现架构更改行为,请更新您的问题或直接提交错误。

如果(我目前所期望的)在第 2 步中的某个时刻,奇怪的行为消失了,那么您就找到了罪魁祸首。

如果不明显:您希望使用版本控制来完成所有这些操作,以便可以撤消/重做/审查步骤。