繁体   English   中英

休眠的“自动模式更新”会丢弃它不拥有的任何东西吗?

[英]Does hibernate “auto schema update” drop anything it doesn't own?

我有多个项目,每个项目都有自己的实体,索引等(使用spring-data,但底层的JPA提供程序是Hibernate 5.0.12)。 假设项目A具有实体/表T和U,项目B具有实体/表V和W,并且两个项目都连接到相同的MySQL数据库。 如果我将hibernate.ddl-auto: update设置hibernate.ddl-auto: update每个项目的hibernate.ddl-auto: update ,这些项目是否会相互干扰? 项目A是否会看到表V和W并认为“嘿,那些表不在我的架构中,我会摆脱它们”?

将具有自动更新功能的多个休眠模式连接到同一个MySQL数据库时,还有其他陷阱吗? 最终,当我们进行生产部署时,我们将创建一个大型的统一“模型”项目,所有项目都将其作为依赖项,但是在进行原型设计时,将必要的实体放入相关项目中会更快一些,但不是如果会造成问题!

我强烈建议您在此处阅读有关此内容的更多信息: https : //docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html

但要回答您的问题: 不,它不会掉落任何东西。

更新过程将搜索它可以创建的所有列,然后创建这些列。 甚至无法更改数据库类型(例如,从int更改为字符串)。

在这种情况下,强烈建议使用Flyway或Liquibase之类的工具。 https://flywaydb.org https://www.liquibase.org

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM