-
Notifications
You must be signed in to change notification settings - Fork 31
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 a Graphql implementation of the repo StargazersStream #123
Conversation
7e78b78
to
ed77f27
Compare
@edgarrmondragon any thoughts on questions 1 and 2 above? |
@ericboucher the schema and replication keys look the same, so the rest and graphql versions only differ in the pagination order?
I agree 👍 |
The replication keys are different owner, repo -> repo_id @edgarrmondragon |
Co-authored-by: Laurent Savaete <[email protected]>
@ericboucher I see the primary key will change with the new graphql stream. What do you think of the following plan:
In a future release we remove the REST version and consider renaming the graphql one. cc @aaronsteers |
@edgarrmondragon not sure I'm a fan since the next release would be yet another breaking change by renaming this To be honest, since the previous stream was working so poorly I think it's reasonable to introduce this one and override the previous one directly. Maybe we can add a warning in the code on this streams initialization? Is there a way to force the target to drop existing tables / update indexes? |
@edgarrmondragon @aaronsteers I followed your suggestion and used the same partition keys so that we can "safely" override the REST stream completely. Which I did in the end. The breaking id changes should happen in #122 Please have a final look and let me know what you think. cc @laurentS for final thoughts as well |
I don't think there's any defined behaviour on the target side, each target can do pretty much anything with the data, at least from the singer spec perspective, which just defines the interface between tap and target. |
Is it easy to use a stream with another name? Eg. use stargazers_rest but still write to a |
@ericboucher the SDK comes with stream renaming out-of-the-box: https://sdk.meltano.com/en/latest/stream_maps.html#aliasing-a-stream-using-alias |
This reverts commit 288dd81.
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
This PR is adding a Graphql implementation of the repo StargazersStream and solving #120
This also integrated backward pagination and early exit by faking a "since" parameter.
Open questions:
Bonus - I made a few tweaks that seem to improve requests-caching