pg_graphqlPostgreSQL 的 GraphQL 支持
pg_graphql 支持使用 GraphQL 查询现有的 PostgreSQL 数据库,提供了 SQL 模式 -> GraphQL 模式反射引擎和关联的 GraphQL 查询 -> SQL 查询转译器,任何可以连接到 PostgreSQL 的编程语言都可以通过 GraphQL 查询数据库,而无需额外的服务器、进程或库。
SQL 架构
create table account(
id serial primary key,
email varchar(255) not null,
encrypted_password varchar(255) not null,
created_at timestamp not null,
updated_at timestamp not null
);
create table blog(
id serial primary key,
owner_id integer not null references account(id),
name varchar(255) not null,
description varchar(255),
created_at timestamp not null,
updated_at timestamp not null
);
create type blog_post_status as enum ('PENDING', 'RELEASED');
create table blog_post(
id uuid not null default uuid_generate_v4() primary key,
blog_id integer not null references blog(id),
title varchar(255) not null,
body varchar(10000),
status blog_post_status not null,
created_at timestamp not null,
updated_at timestamp not null
);
转换为 GraphQL 模式,将每个表公开为一个可分页的集合,其关系由外键定义。
评论
