liquibase: can you specify "after column" with liquibase addColumn?

PapaFreud picture PapaFreud · Jan 17, 2014 · Viewed 11.2k times · Source

Is there a way to write a liquibase addColumn changeset so it generates sql like

ALTER TABLE xxx ADD COLUMN yyy AFTER zzz;

I mean, is there a way to add an equivalent of "after column zzz" in liquibase jargon?

Answer

David Keen picture David Keen · Feb 10, 2014

Until this is fixed, you can use 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>