liquibase:你可以在#34;栏后指定"用liquibase addColumn?

时间:2014-01-17 07:13:25

标签: mysql database-migration liquibase changeset

有没有办法编写liquibase addColumn变更集,以便生成像

这样的sql
ALTER TABLE xxx ADD COLUMN yyy AFTER zzz;

我的意思是,有没有办法在liquibase术语中添加“post zzz”之后的等效内容?

2 个答案:

答案 0 :(得分:9)

在修复this之前,您可以使用modifySql

<changeSet id="1-1" author="david">
    <comment>Add column field to example table</comment>
    <addColumn tableName="example">
        <column name="name" type="VARCHAR(50)" defaultValue="">
            <constraints nullable="false"/>
        </column>
    </addColumn>

    <!-- Use modifySql so we can insert it in the desired position -->
    <modifySql>
        <append value=" AFTER some_column"/>
    </modifySql>
</changeSet>

答案 1 :(得分:8)

使用Liquibase 3.1,列标签上有新的“afterColumn”,“beforeColumn”和“position”属性。

http://www.liquibase.org/documentation/column.html上的文档刚刚更新,以包含它们。