Return a new instance of Driver from registry's GetDriver() function
I've found that concurrent migrations on multiple schema are not possible due to the fact that GetDriver() returns a Driver singleton for all named drivers. There are definitely more sound ways to solve this (i.e. registering a factory method to create a customized new instance of Driver), but given the simplicity of the current design, I've opted to just create and return a new instance of Driver from GetDriver() by using the reflect package.
I've tested this using the MySQL driver specifically and am now able to run concurrent migrations on any number of unique database URLs.
Not sure off the top of my head how to deal with the test failures involving RegisterMethodsReceiverForDriver()—this came as a surprise just now. If you have any ideas please let me know :)
Sorry for the delay. Was out for conferences last week in SF.
I fixed this in v3. Would you mind checking that version out and see if it suits your use-case?
Would you mind changing the target branch to v1 ?