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

Database structure evolution comparison #31

Open
chrisfw opened this issue Sep 20, 2020 · 0 comments
Open

Database structure evolution comparison #31

chrisfw opened this issue Sep 20, 2020 · 0 comments

Comments

@chrisfw
Copy link

chrisfw commented Sep 20, 2020

Hi,
First I wanted to say that your work is very impressive and I feel could be applied in many different ways!
As you are soliciting possible use cases for this toolset/technology, would a valid use in the database realm be:
Doing a diff between two db schemas and providing the sequential list of edits that will bring you from the origin version to the new version (syncing)? The db schema could be represented as a tree encapsulating the relationship among columns, constraints, tables, indexes, etc.
So for example if a column were to get dropped and that column were referenced as a foreign key constraint to another table as well as being included in an index, the diff would be represented as the series of drops/adds/alters that would enable the edits to be applied to version a sequentially yielding b.

My particular use case is for Oracle DB schema evolution and although there are some costly commercial tools out there, they utilize Oracle specific features in order to accomplish the sync. There don't appear to be any tools that do this type of sync utilizing the approach you have taken with Graphtage that could be applicable across multiple databases. Below are a couple of links describing some of the approaches and the various challenges with schema evolution.

Schema Evolution Research 1
Schema Evolution Research 2
Schema Evolution Research 3

I would be very interested to hear your thoughts on the applicability of this use case to your work.

Regards,
Chris Whelan

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

No branches or pull requests

1 participant