在表之间移动数据

Cer*_*bis 5 liquibase

我目前在我的一个小项目中使用Liquibase,效果很好。但是现在我正面临一个问题。我的ChangeLog可以在我的测试环境中按预期工作,但在我的生产环境中却无法正常工作。发生这种情况是因为我的产品表包含几行数据。

我知道liquibase中有一个UPDATE-Command,但是我不确定如何正确使用它。

我要存档的是将一列从表B移动到表A,而不会丢失其数据。表B包含表A的外键。普通的SQL语句看起来像update A set A.x = (select B.x from B where B.id = A.id)

如果有人可以给我一个这样的更新变更集的示例,那就太好了。

谢谢!

dfc*_*che 6

看起来像

<changeSet ...>
    <update tableName="TABLE_A">
            <column name="x" valueComputed="(select b.x from TABLE_B b where b.id=id)"/>
    </update>
</changeset>
Run Code Online (Sandbox Code Playgroud)