Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add ability to replace golang migration registry with custom one #351

Closed
wants to merge 1 commit into from

Conversation

zmitry
Copy link

@zmitry zmitry commented May 12, 2022

I'm trying to run goose as lib for several services, and I want to run several migrations from code. Still, the issue is that we can't achieve this because multiple migrations will be registered simultaneously to the same registry.
Here is some example.
I have service A with go migration 0001_initial.go
I have service B with go migration 0001_initial.go
we import both methods to the init database, and we have a conflict.

another example
I have service A with go migration 0001_initial.go
I have service B with go migration 0001_somtehings.go
we import both methods to the init database, and we have a conflict in versions that don't work well.

I tried to implement something very simple. We can register migrations to a custom registry and then set this registry before we run any goose code.

goose.SetMigrationsRegistry(registry)
goose.Up(...)

@mfridman
Copy link
Collaborator

I believe your issue is similar to a long-outstanding one #114 (relevant comment)?

If you could initialize 2 different goose providers in the same runtime would that help?

@zmitry
Copy link
Author

zmitry commented May 13, 2022

Yes that will help but I would prefer something simpler that we could leverage without breaking change.

@mfridman
Copy link
Collaborator

Going to close this in favor of #625. Thanks for the PR @zmitry, sorry didn't get a chance to merge this earlier.

@mfridman mfridman closed this Oct 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants