#graphql #apollo-server #graphql-tools #neo4j-driver #neo4j-graphql-js
#graphql #apollo-сервер #graphql-инструменты #neo4j-драйвер #neo4j-graphql-js
Вопрос:
Я использую inferSchema для генерации определений типов GraphQL непосредственно из базы данных neo4j, например:
const inferAugmentedSchema = driver => {
return inferSchema(driver).then(result => {
return makeAugmentedSchema({
typeDefs: result.typeDefs,
config: {
mutation: false
}
});
})
};
Теперь мне нужно объединить приведенную выше схему с другой, чтобы я мог расширить тип, но каждый раз, когда я пытаюсь, возникает эта ошибка:
Инициализация вашей схемы Neo4j
Это может занять несколько минут в зависимости от размера вашей базы данных pathToProject node_modules graphql validation validate.js:124
выдает новую ошибку(errors.map(function (error) { ^ Ошибка: невозможно расширить тип «Municipio», поскольку он не определен.
Вот полный код того, как я пытаюсь ее объединить:
const driver = neo4j.driver(
process.env.URL,
neo4j.auth.basic(process.env.NEO4J_USER, process.env.NEO4J_PWD)
);
const inferAugmentedSchema = driver => {
return inferSchema(driver).then(result => {
return makeAugmentedSchema({
typeDefs: result.typeDefs,
config: {
mutation: false
}
});
})
};
const types = [
inferAugmentedSchema,
municipioExtended,
];
const mergedSchema = mergeSchemas({
schemas: [typeDefs, municipioExtended]
});
const server = new ApolloServer({
mergedSchema,
context: { driver }
});
server.listen().then(({url}) => {
console.log(`server ready at ${url}`)
});