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

Developer Guide #208

Open
dhutchison opened this issue Jun 12, 2022 · 3 comments
Open

Developer Guide #208

dhutchison opened this issue Jun 12, 2022 · 3 comments

Comments

@dhutchison
Copy link

This isn't really an issue with this project per-se, but there are a number of features that I would like to see implemented in this project (or the dependant schemainspect). Some of these have had open PRs for a while awaiting some polish. While I'd like to help contribute, I don't know where to start.

Python isn't my first choice language, so this may just be my lack of understanding of the python ecosystem, but is there any sort of high level guide available for how this project is setup/build/tested that could be shared to help new contributors?

@mmkal
Copy link

mmkal commented Feb 2, 2024

@dhutchison @peterldowns this is a very old issue, but I'm looking into porting this into nodejs/typescript. Let me know if you would be interested in helping. FYI @djrobstep in case you are aware of any existing efforts to do that!

@peterldowns
Copy link

peterldowns commented Feb 5, 2024

@mmkal thanks for the tag. I'm not interested in working with node/typescript, but you might find my re-implementation of schemainspect to be useful as a reference. The relevant code is this schema package, which essentially does the same thing as schemainspect. It works slightly differently:

  • Parse Postgres schema by running queries
  • Generate a schema/migration/ddl file based on that parsed information

There's no capabilities built in for diffing schemas, but there are a bunch of options for explicitly adding dependencies between schema objects ("this table depends on this function").

I'd be interested to see your implementation and work, and happy to rubber duck or review or discuss any of the problems — but unfortunately I don't have the time to contribute any code myself. I think if you pull it off you'll probably help a ton of people, good luck!

@dhutchison
Copy link
Author

@mmkal I'm in the same boat I'm afraid - already spread too thin. It's a shame this project seems not to be maintained anymore, as at one time it seemed to be the best of the bunch.

For my use cases, I think if I was looking into doing development in this area I would be trying to layer a CLI on top of the pgadmin schema diff functionality. I have no idea how good it actually is, but I'd assume as a postgres project it has a better chance of long term support (famous last words).

Good luck with it, it is an area where we need good tools - I've just got enough workarounds in place for the current shortcomings that it isn't a major worry just now.

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

3 participants