使用springboot和spring数据创建和更新数据库表

时间:2018-07-27 06:40:54

标签: spring-boot spring-data

对于使用spring数据/休眠模式进行数据库模式管理,设置spring.jpa.hibernate.ddl-auto选项看起来并不干净。

Bcoz

1)我们被迫将有权创建和删除用户的凭据放入application.properties。

2)在生产中,如果管理不当,中继spring.jpa.hibernate.ddl-auto选项可能会导致数据丢失。

那么,在Spring Boot / Spring Data应用程序中自动处理数据库模式管理的最佳方法是什么?

任何指针都会有所帮助。

谢谢

2 个答案:

答案 0 :(得分:0)

如果您想跟踪database的每个更改状态,则可以使用flyway

请参见this链接如何维护database versioning中的spring-boot

答案 1 :(得分:0)

在生产中,理想情况下,应将spring.jpa.hibernate.ddl-auto属性设置为none,以便不允许架构更改。

对于使用spring数据/休眠模式进行数据库模式管理,我建议您选择Liquibase,它基本上是一个独立于开源数据库的库,用于跟踪,管理和应用数据库模式更改。

使用Liquibase中的属性文件,将对Schema的每个更改作为更改集添加到其中,用于新更改。

为了将现有数据库结构迁移到Liquibase,它为您提供了通过读取当前数据库来自动生成变更集的命令。

因此,您可以使用它生成数据库架构,添加约束,加载数据。

更多信息,位于:https://www.liquibase.org/Why and when Liquibase?