如果我们使用liquibase在表中间添加列,如何生成SQL

时间:2019-03-07 15:31:59

标签: liquibase

假设在v1中我有一张桌子

create table test1
{
col1 varchar2(10),
col2 varchar2(10),
col3 varchar2(10),
}

在版本v2中,要求将表添加到中间列col1_2中,例如

create table test1
{
col1 varchar2(10),
col1_2 varchar2(30),
col2 varchar2(10),
col3 varchar2(10)
}

那么liquibase是否有能力添加重建表的生成表?

1 个答案:

答案 0 :(得分:0)

否,Liquibase无法以一般方式执行此操作。您可以删除并重新创建表,但这可能不是您想要的。如果您想做这样的事情,您将需要做一个相当复杂的SQL更改。一种方法是使用所需顺序按列创建新表,然后将数据从旧表复制到新表,然后删除旧表,最后将新表重命名为正确的名称。

一种更简单的方法可能是使用视图。

通常,表中列的顺序不应被认为是重要的。