在生产环境中我使用spring.jpa.hibernate.ddl-auto = validate但我发现生产数据库中自动添加了新列。
我做了一个带有虚拟应用程序的小POC,它没有在我的本地系统上添加一列。
任何人都可以帮助我了解spring.jpa.hibernate.ddl-auto=validate
属性可能存在的问题。
感谢任何帮助。
答案 0 :(得分:1)
validate
不应更改您的数据库架构。
如果确实如此,你应该提出一个问题,尽管我怀疑这是真的发生了什么。
我认为更有可能
为了调试这种情况,请执行以下操作:
如果您在继续复制架构更改行为的同时实际上已成功完成第2步,请更新您的问题或直接提交错误。
如果(我现在期待的话)在第2步中的某个时刻,奇怪的行为就会消失,你找到了你的咒语。
如果不明显:您希望使用版本控制执行所有操作,以便撤消/重做/审核步骤。
答案 1 :(得分:1)
在生产环境中是,从外部.properties文件传递spring.jpa.hibernate.ddl-auto=update
。
现在我非常确定spring.jpa.hibernate.ddl-auto=validate
永远不会更新数据库架构。
谢谢大家。