0

データを含む既存のテーブルがあります。

foobar_table
    foo
    bar
    baz

bazテーブルから列を分割し、それを含むfoobar_table新しいテーブルを作成したいとbaz_table考えています。操作が完了すると、次の構造になり、各列には操作が開始される前のデータが含まれます。

foobar_table
    foo
    bar

baz_table
    baz

Liquibaseでこれを行うにはどうすればよいですか?

PS Grails Database Migration plugin経由で Liquibase を使用します。grailsChangeタグは私に希望を与えてくれますが、例のドキュメントが不足しているため、望みはありません

アップデート:

sql変更セットで使用できる を知りませんでした。ここの例でそれについて知りましたが、それが私が必要としていたものだと思います。

4

1 に答える 1

3

すでにわかっているように、変更セットの一部として任意の SQL クエリを実行できます。ブログ投稿で一般的な注意事項について説明します。

あなたの例では:

<changeset>
  <createTable tableName="baz_table"/>
  <sql>insert into baz_table(baz) select baz from foobar</sql>
  <dropColumn tableName="foobar_table" columName="baz"/>
</changeset>
于 2012-10-07T19:22:19.930 に答える