我有一个带有A列的表。我正在创建一个新的列B. B将具有与A列相同的数据。如何在Liquibase中复制该列?是否有一些我可以编写的表达式来进行复制?
答案 0 :(得分:11)
创建新的更改集,添加新列,然后使用B
标记更新列<sql>
:
<changeSet author="yourName" id="example">
<addColumn catalogName="db"
schemaName="public"
tableName="yourTable">
<!-- replace varchar(255) with the actual type of column A -->
<column name="B" type="varchar(255)"/>
</addColumn>
<sql>UPDATE yourTable SET B = A</sql>
</changeSet>
答案 1 :(得分:1)
这也是可能的:
<changeSet id="1" author="your_name">
<addColumn tableName="your_table">
<column name="b" type="varchar(255)"/>
</addColumn>
</changeSet>
<changeSet id="2" author="your_name">
<update tableName="your_table">
<column name="b" valueComputed="a"/>
</update>
</changeSet>