liquibase/liquibase — pull request #321 by mrWumpus (2014-10-23 03:09:53+00:00)
Title: Preserve original number for valueNumeric

I've change the valueNumeric and defaultValueNumeric parsing a bit to return a custom Number delegate class that parses the Number to validate that it's actually a number, but also stores the number as the original string value in the changelog file. That value is returned without modification as the toString method.

This fixes the current problem during an insert, all valueNumeric values are translated into Double.toString with a '.0' suffix. This would also fix the defaultValueNumeric for table creates if it wasn't already fixed with a string trim.

Additionally, there's no loss of precision; what you enter as the numeric value is exactly the value you'll get in the SQL, for better or worse. Liquibase shouldn't try and translate or modify those values anyway.