2015-11-20 30 views
2

我目前在我的一個小項目中使用Liquibase,工作很好。 但現在我面臨一個問題。我的ChangeLog在我的testenv中按預期工作,但在我的生產環境中失敗。發生這種情況是因爲我的prod表包含幾行數據。在表格間移動數據

我知道有一個UPDATE命令在liquibase,但我不知道如何正確使用它。

我想存檔的是從列表B移動到列表A而不會丟失其數據。表B包含表A的一個外鍵。一個正常的SQL語句看起來不像update A set A.x = (select B.x from B where B.id = A.id)

如果有人能給我一個這樣的更新變更集的例子,那將是很好的。

Thx!

+2

做的最簡單的辦法是使用[''(http://www.liquibase.org/documentation/changes/sql.html)標籤,記到該標籤的'update'語句。我發現[''](http://www.liquibase.org/documentation/changes/update.html)_tag_使用起來非常麻煩。 –

+0

謝謝!這工作正常。看到它如何與''標籤一起工作對我來說仍然很有趣 – Cerbis

回答

2

它可能看起來像

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