Changes for version 0.900000 - 2026-06-23
- First release. Auto-generate an executable GraphQL schema from a connected DBIO schema.
- Schema generation
- DBIO::GraphQL->to_graphql($schema) introspects every source and returns an executable GraphQL::Schema with object types and relationship fields
- One scalar field per column, typed (Int/Float/Boolean/String) from the column's data_type
- Relationship fields: has_many resolves to a list, belongs_to and might_have to a single object
- Composite primary keys supported throughout
- Queries
- Root Query with singular lookups and plural allXs queries
- Nested per-column filtering (eq/not/gt/gte/lt/lte/in/like/contains/ startsWith/endsWith/isNull) with recursive AND/OR combinators, mirroring the DBIO search-condition format
- Per-scalar typed input filters (IntFilter, FloatFilter, StringFilter, BoolFilter); operator set follows the column type
- Ordering (ASC/DESC) and both offset (page) and cursor pagination
- Mutations
- Root Mutation with createX, updateX, and deleteX per source
- Architecture
- Thin orchestrator over four focused modules: DBIO::GraphQL::ScalarMap (data_type to GraphQL scalar), DBIO::GraphQL::Filter (with ::Search and ::Null adapters, per-source filter input), DBIO::GraphQL::Relationship (relationship field resolution with strict relationship_info contract validation), and DBIO::GraphQL::Mutation
- Acknowledgements
- DBIO port of DBIx::Class::Schema::GraphQL by Mohammad Sajid Anwar (MANWAR); see ACKNOWLEDGEMENTS in the POD
Documentation
Modules
Auto-generate a GraphQL schema from a DBIO schema
Per-source GraphQL filter InputObject with adapter seam
No-op filter adapter - disables filtering entirely
Default filter adapter - per-source nested-DBIO-style filter
Build createX / updateX / deleteX GraphQL field per source
Resolve GraphQL relationship fields from a DBIO source
Map DBIO column data_types to GraphQL scalars