使用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