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

FastGQL first version roadmap #26

Open
16 of 19 tasks
roneli opened this issue Dec 4, 2021 · 7 comments
Open
16 of 19 tasks

FastGQL first version roadmap #26

roneli opened this issue Dec 4, 2021 · 7 comments

Comments

@roneli
Copy link
Owner

roneli commented Dec 4, 2021

Hello, fastGQL users, this is a basic roadmap to complete before releasing first version of fastgql.

if you have any suggestions or feature requests, you can add to this thread or open feature request issues depending on complexity/importance will add it to the roadmap

@roneli roneli pinned this issue Dec 4, 2021
@namnm
Copy link

namnm commented Dec 5, 2021

@roneli Thanks, do you have any plan to have generator with some kind of popular orm such as https://gorm.io/?
When we use an orm, all the relation (has one, has many, belong to...) are configured already. It is quite redundant to declare them again in the graphql schema

@mpieczaba
Copy link
Contributor

Thanks, do you have any plan to have generator with some kind of popular orm such as https://gorm.io/? When we use an orm, all the relation (has one, has many, belong to...) are configured already. It is quite redundant to declare them again in the graphql schema

@namnm Yeah, I agree that it would be pretty handy. GORM is a useful tool not only because of its association support but also auto migration and much more.
Unfortunately, fastGQL is currently based on the pgx, which as far as I know is incompatible with the generic sql.DB interface used in GORM. I would consider switching to it as it is supported in most orms/db oriented libs.

@roneli
Copy link
Owner Author

roneli commented Dec 7, 2021

@roneli Thanks, do you have any plan to have generator with some kind of popular orm such as https://gorm.io/? When we use an orm, all the relation (has one, has many, belong to...) are configured already. It is quite redundant to declare them again in the graphql schema

In general, GORM won't work well here, as it is inefficient in the query building and can't support injecting count aggregates, relational filters etc' easily I am sure it can be done, but it will require a lot of work and some workarounds.

The core idea of the fastGQL is to be a lightweight extension of gqlgen and allowing the user to supplement his gqlgen but also do this own thing + SDL approach which allows more control than DB schema approach.

@namnm
Copy link

namnm commented Dec 8, 2021

Thanks, guess we may need to create a fork from your repo to work with gorm.

@mpieczaba
Copy link
Contributor

Thanks, guess we may need to create a fork from your repo to work with gorm.

@namnm Not really. I can work over the weekend on moving to the generic sql.DB interface and propose my solution to @roneli. Then he will decide what to do with it.
If he accepts it, you would have opportunity to add GORM to your project like so. I will also try to make filter, sort and pagination queries reusable with different query executors. This feature would make fastGQL more extendable and allow to use this excellent tool not only with GORM but all sort of db oriented libs.

@newbeelearn
Copy link

If i understand correctly i don't need dataloader with this, right?

@roneli
Copy link
Owner Author

roneli commented Dec 17, 2021

If i understand correctly i don't need dataloader with this, right?

No you don't, it transforms the whole GraphQL query to an equiv SQL query. So all requested data is returned in one execution, and it just auto resolves from there. Obviously you can add more logical gqlgen stuff on top of it if you desire.

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

4 participants