如何在不重新启动服务的情况下更新架构

时间:2018-11-08 16:56:32

标签: graphql apollo-server


我的程序使用apollo-server-koa作为graphql服务,我想动态更新架构。例如:
-用户将数据上传到服务器时,还需要更新架构,而无需重新启动服务。
我阅读了模式转换和模式拼接,但是这些都不满足我的要求。
任何人都可以给我建议。
非常感谢!

1 个答案:

答案 0 :(得分:0)

我使用apollo-server-express@1.3.2执行此操作。我还没有转换为2,也没有在做koa,但我想这大致相同。如果没有,希望它至少能有所帮助。

const { graphqlExpress } = require('apollo-server-express')
let schema = loadRemoteSchemas() // this loads it on start-up

app.use(async (req, res) => {
  return {
    schema: await schema,
  }
}

app.use('refresh', async (req, res) => {
  // some middleware that does stuff and changes the `schema` pointer
})