Lam*_*mp3 7 java hibernate jpa liquibase liquibase-hibernate
我使用 H2 数据库来存储我的数据,并使用 liquibase (带有 hibernate 插件)来检查数据库和 projet 之间的差异。
假设我有以下代码:
@Entity
public class myEntity{
@Column(name="val")
private int value;
}
Run Code Online (Sandbox Code Playgroud)
数据库已就位并已存储一些数据。
现在,当我将上面的列 ie 从 val 重命名为 value 并运行 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>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15125 次 |
最近记录: |