Pergunta

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?

Foi útil?

Solução

With Liquibase 3.1 there are new "afterColumn", "beforeColumn" and "position" attributes on the column tag.

The documentation at http://www.liquibase.org/documentation/column.html was just updated to include them.

Outras dicas

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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top