Liquibase doesn't honor type modifiers


AddColumn.Column col = new AddColumn.Column(); ... col.setType("INT(10) ZEROFILL UNSIGNED"); changeSet.getChangeSetChildren().add(addCol);


ALTER TABLE tablename ADD testcolumn INT NULL;

... which means both the zerofill and unsigned modifiers are completely lost.

Is there a way to make Liquibase use the EXACT value passed to setType ?

NOTE: See also:

The above targets MySQL, using the latest available driver, but I get the same problem with older drivers.

I have tested this with version 3.2.3 and it works fine, so until the bug is fixed, you could use version 3.2.3.

This will be fixed in 3.4.0 with CORE-2300 . There’s now a test case that will prevent it from breaking. See pull request #401 .

@mches That pull request only deals with UNSIGNED modifiers, not ZEROFILL.