Fix an error where MigrationVersion wouldn't parse correctly #903
Presently MigrationVersion parses to a List of Longs internally. If any of the pieces of a version string overflow a long it will fail to parse with a misleading error message. This is problematic for two reasons:
Take for example a migration with the name:
(Here we're using the date/time from a shared ntp server as the prefix of a version number, which overflows a long) upon being parsed in trunk we'd get this error:
Which is obviously incorrect.
This patch changes the internal storage of the migration version to use a BigInteger instead of a Long, thus allowing version sections to be of arbitrary length. I ran this with the non-commercial test suite and everything passed, but I haven't run with the commercial stuff.
@axelfontaine Sure thing - I added a test. I verified that it throws the above mentioned exception prior to my fix. (and doesn't now)
What is the release schedule for flyway? (Just trying to get a sense of when this will be in the released versions as it breaks a scheme I was planning on using) No rush or anything as I can just use a custom version for now of course.
So I ran these locally again and they work for me.
You can see my first changeset ran just fine. The second one (which only adds a passing test) failed. Looking at the error (a null pointer exception in like 52 of GradleLargeTest) this seems to be some type of spurious error. (As this would indicate that runGradle returned null)
I can't seem to find a button to re-run the tests on travis. Am I missing something?