Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Liquibase从MySQL表中拆分列_Mysql_Grails_Data Migration_Liquibase - Fatal编程技术网

使用Liquibase从MySQL表中拆分列

使用Liquibase从MySQL表中拆分列,mysql,grails,data-migration,liquibase,Mysql,Grails,Data Migration,Liquibase,我有一个包含数据的现有表 foobar_table foo bar baz 我想将baz列从foobar_表中拆分出来,并创建一个名为baz_表的新表来包含它。操作完成后,我将具有以下结构,每列包含操作开始前的数据: foobar_table foo bar baz_table baz 我怎样才能做到这一点 p.S.通过使用液化酶。标签给了我希望,但是缺少示例文档让我很想知道 更新: 我不知道可以在变更集中使用的sql。我在示例中发现了这一点

我有一个包含数据的现有表

foobar_table
    foo
    bar
    baz
我想将
baz
列从
foobar_表
中拆分出来,并创建一个名为
baz_表
的新表来包含它。操作完成后,我将具有以下结构,每列包含操作开始前的数据:

foobar_table
    foo
    bar

baz_table
    baz
我怎样才能做到这一点

p.S.通过使用液化酶。标签给了我希望,但是缺少示例文档让我很想知道

更新:


我不知道可以在变更集中使用的
sql
。我在示例中发现了这一点,我认为这正是我所需要的。

正如您已经发现的,您可以将任意SQL查询作为变更集的一部分运行。我在我的报告中回顾了常见的警告

以你为例:

<changeset>
  <createTable tableName="baz_table"/>
  <sql>insert into baz_table(baz) select baz from foobar</sql>
  <dropColumn tableName="foobar_table" columName="baz"/>
</changeset>

插入baz_表(baz)从foobar中选择baz

正如您已经发现的,您可以将任意SQL查询作为变更集的一部分运行。我在我的报告中回顾了常见的警告

以你为例:

<changeset>
  <createTable tableName="baz_table"/>
  <sql>insert into baz_table(baz) select baz from foobar</sql>
  <dropColumn tableName="foobar_table" columName="baz"/>
</changeset>

插入baz_表(baz)从foobar中选择baz