Switch to maintained migra package #3620
Open
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.
What kind of change does this PR introduce?
The package migra has been unmaintained for 3 years, and there are several issues that have been unresolved, especially due to new functions available in later postgres versions
This PR is meant to use a more recently maintained fork of migra so that supabase can have better support for schema diffing
What is the current behavior?
Current users can choose between choose between migra or pg-schema-diff or pgadmin but it seems like the old version of migra is still the default because it covers most of the cases needed for supabase users
Please link any relevant issues here.
What is the new behavior?
Right now I've forked the old migra to:
https://github.com/PhilipWee/migra
And it's dependency
schemainspect
to:https://github.com/PhilipWee/schemainspect
Currently done:
[x] Forked
[x] Fixed broken test cases for pg16, pg17
[x] Automatic docker image publishing
[x] Automatic pypi publishing
WIP before merging this PR makes sense:
[] Backward compatibility test cases for pg10 - pg 15
[] Update migra documentation
[] Fixed deprecated function call warnings
[] Fix djrobstep/migra#243
schemainspect
to catch metadata regarding function dependencies before recreating the func inmigra
Additional context
Just wanted to open this PR even though its not ready for merging just to get some feedback along the way
Some questions:
supabase/migra
based off https://github.com/PhilipWee/migra or is using the autodeployed one from my repo fine?db diff
that should be targeted first