graphql
graphql

Excalibase GraphQL

Point it at your database. Get a full GraphQL API. Zero code.

Excalibase GraphQL introspects your database schema at startup and generates a complete GraphQL API — queries, mutations, subscriptions, relationships, filtering, pagination, and more. No schema files to write, no resolvers to maintain, no code generation step.

How it works

  1. Introspect — on startup, queries information_schema for tables, columns, types, and foreign keys
  2. Generate — builds a full GraphQLSchema with types, filters, mutations, and subscriptions for every table
  3. Serve — exposes the schema at /graphql (HTTP + WebSocket for subscriptions)

Schema changes are automatically picked up via DDL events from excalibase-watcher — no restart needed.

What you get

For every table in your database, Excalibase generates:

  • Queries — list with filtering, sorting, pagination; cursor-based Connection for infinite scroll
  • Mutationscreate, update, delete, createMany (bulk insert)
  • Relationships — foreign keys become nested fields automatically (no JOIN to write)
  • Subscriptions — live INSERT/UPDATE/DELETE events via WebSocket (powered by excalibase-watcher + NATS)
  • Stored procedures — callable as GraphQL mutations
  • Computed fields — PostgreSQL functions exposed as fields
  • Row-Level Security — per-request user context passes into PG session variables

Supported Databases

DatabaseStatusNotes
PostgreSQL✅ SupportedFull feature set — PG 15+
MySQL✅ SupportedCRUD, ENUM/JSON, views, stored procedures — MySQL 8.4+
MongoDB🔄 PlannedComing soon

Native Binary

Ships as a GraalVM native binary — fast startup, low memory:

docker pull excalibase/excalibase-graphql:native

Startup time is under 100ms. Memory footprint around 80MB at idle.

GitHub

github.com/excalibase/excalibase-graphql