在以前使用过的spring boot应用程序中,hibernate负责数据库的更改,无论是在启动时导入数据还是在实体更改时修改数据库。
因此,如果我更改了实体,则spring.jpa.hibernate.ddl-auto设置将决定数据库的更改方式。 liquibase是在jhipster应用程序中做什么的吗?我最担心的是liquibase在修改数据库方面所做的工作,这与版本控制有关。
答案 0 :(得分:0)
Liquibase出于自身目的创建了两个表 DATABASECHANGELOG 和 DATABASECHANGELOGLOCK 。
DATABASECHANGELOG 记录到目前为止所有变更集已应用于数据库的内容。
JHipster使用Liquibase来管理数据库更新,并将其配置存储在 / src / main / resources / config / liquibase / 目录中。
如果您希望(或需要)手动进行数据库更新,则开发流程如下:
修改您的JPA实体(添加字段,关系等)
在src / main / resources / config / liquibase / changelog目录中创建一个新的“更改日志”。
将此“更改日志” 文件添加到src / main / resources / config / liquibase / master.xml文件中,因此在下次运行时应用应用程序
如果要在启动应用程序时跳过Liquibase迁移任务,则可以使用配置文件“ no-liquibase ”。 例如:spring.profiles.active = prod,无液基
有关使用Liquibase的更多信息,请转到http://www.liquibase.org。