从 graphQL 模式自动创建 ORM 模式和查询
Posted
技术标签:
【中文标题】从 graphQL 模式自动创建 ORM 模式和查询【英文标题】:Create an ORM schema and queries automatically from a graphQL schema 【发布时间】:2016-05-17 01:14:40 【问题描述】:现在,graphQL 正在流行,一些库已经出现,以使使用 graphQL 和数据库抽象层(如(sequelize 和 bookshelf.js))更容易。
他们似乎都专注于使 ORM 模型与 graphQL 模式一起轻松工作。
我想知道,为什么不反过来呢?一般来说,是否有可能生成脱离 graphQL 的 ORM 模式。
由于我不太了解 graphQL,所以我看不出它是否有可能实现这一点的局限性?然而在我的脑海中,应该可以只定义一个 graphQL 模式,然后将其转换为适合您的数据库的东西。
【问题讨论】:
似乎没有多少项目/人这样做,有什么想法可以被认为是“坏习惯”吗? 【参考方案1】:我发现了一个最近的项目就是这样做的。它被称为 Gestalt。它现在只适用于 Postgres,但看起来很有希望。查看Getting Started,它的设置非常简单。
只要您安装并运行了 PostgreSQL,您就可以运行以下命令来启动项目:
npm install --global gestalt-cli
createdb blogs
gestalt init blogs
cd blogs
cat > schema.graphql << EOM
type Session implements Node
id: ID!
type User implements Node
id: ID!
email: String! @unique
passwordHash: String! @hidden
type Post implements Node
id: ID!
text: String!
createdAt: Date!
EOM
gestalt migrate
npm start
万岁!它现在正在运行,您可以在浏览器中打开GraphiQL:
open http://localhost:3000/graphql
现在,您可以随时更改 schema.graphql
,然后运行 gestalt migrate
来更新 PostgreSQL 和 GraphQL。
【讨论】:
以上是关于从 graphQL 模式自动创建 ORM 模式和查询的主要内容,如果未能解决你的问题,请参考以下文章