gpt4 book ai didi

java - Liquibase + Hibernate 重命名列

转载 作者:行者123 更新时间:2023-11-30 02:48:20 26 4
gpt4 key购买 nike

我使用 H2 数据库来存储我的数据,并使用 liquibase(带有 hibernate 插件)来检查数据库和 projet 之间的差异。

假设我有以下代码:

@Entity
public class myEntity{

@Column(name="val")
private int value;

}

数据库已就位并已存储一些数据。

现在,当我将上述列重命名为“val”并运行 liquibase:diff 时,difflog 会显示删除“val”列并添加“value”列。

显然这不是我想要的,因为原来存储在“val”列中的所有数据都会消失。

有没有办法告诉 liquibase 它不是一个新列,而是一个旧的重命名列?

我想运行 liquibase:diff 并且生成的 diffLog 应自动包含我的列的重命名...标记,而不是添加...和删除..一个..

最佳答案

您是否尝试按如下方式使用变更集(或者我的问题是否错误)

   <changeSet author="liquibase-docs" id="renameColumn-example">
<renameColumn columnDataType="int"
newColumnName="value"
oldColumnName="val"
remarks="A change in names"
schemaName="public"
tableName="myEntity"/>
</changeSet>

关于java - Liquibase + Hibernate 重命名列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39484137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com