从GraphQL模式自动创建ORM模式和查询

5
现在GraphQL变得越来越流行,出现了一些库来更轻松地使用GraphQL和数据库抽象层(如sequelize和bookshelf.js)。

它们似乎都专注于让ORM模型与GraphQL模式的易用性。

然而,我想知道为什么不反过来呢?是否一般情况下可以从GraphQL生成ORM schemata?

由于我不太了解GraphQL,所以无法判断它的限制是否允许此种可能性。但在我的脑海中,只需要定义一个GraphQL模式,就可以将其转换成适用于数据库的格式。


似乎没有太多的项目/人在做这个,你有什么想法为什么它被认为是“不良实践”? - Ben Usman
2个回答

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。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接