feat(experimental): shuffle packages & add explicit provider Go func registration #616
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Note
All changes are in
./interal
. No changes to the core goose package.The main goal of this PR is to add the ability to register Go migration functions explicitly on the
goose.Provider
, instead of solely usingfunc init() { goose.AddMigration(..., ...) }
. (note, both explicit and init Go migrations are merged together by version).This is very useful for creating a closure over Go migration functions for DI purposes.
In the process, a few things were refactored and a bunch more tests were added. Of note,
package migrate
andpackage provider
into oneGoMigration
to be used withWithGoMigration
ParseAllFromFS
topackage sqlparser
with tests