-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Description
Feature Description
Introducing Logical Models: A Powerful New Feature Coming Soon to Hasura for BigQuery
Level up your Hasura experience with Logical Models to create custom GraphQL types without the need for database views or functions.
Hello Hasura enthusiasts!
We're excited to announce a powerful new feature coming soon to Hasura for BigQuery users: Logical Models. This feature will enable you to define custom GraphQL types that don't directly map to a database object, giving you more flexibility and control over your Hasura-generated GraphQL schema. With Logical Models, you'll be able to harness the full power of SQL within Hasura without the need to create database objects that require DDL privileges.
What are Logical Models?
Logical Models are a new Hasura GraphQL type that doesn't mirror a concrete database object. Instead, when creating a Logical Model, you define native SQL queries to use as a model and map that model to a Hasura GraphQL type. You can also parameterize these queries to pass arguments, allowing you to create custom and dynamic GraphQL types that suit your specific needs.
Why Logical Models?
This powerful feature empowers you to:
- All workflows currently addressed with views without requiring DML privileges
- Heavily optimized queries
- Complex Aggregations
- GroupBy and Having
- Full Text Search
- Calling stored procedures
- Date math
- Window functions
User value / outcome
- No requirement for DDL privileges in order to create views,UDFs, or stored procedures
- Leverage Hasura's declarative metadata to streamline CI/CD best practices for your API and underlying data backends
Current status (design, alpha, beta etc.)
- Alpha (Released)
- Define logical model as metadata and expose it as a custom GraphQL type
- Beta (May'23)
- Parameterized queries
- Relationships
- Console UI Support
- GA
- Permissions
Resources (e.g. RFCs)
The motivation and design of this feature came in part from the RFC for Parameterized Queries.
rfc (wip): parameterized queries #7473