1 - у меня есть 2 равные базы данных от 2 разных клиентов, единственное, что меняется, это сохраненные данные, поэтому я могу подключиться к каждому из них с помощью одной и той же схемы grapqhl, и все работает.
2 - Я хочу запустить ОДИН СЕРВЕР и получить соединение Typeorm с каждой конечной точкой.
Пример: База данных1 - конечная точка: '/ graphql1'
Пример: База данных2 - конечная точка: '/ graphql2'
У меня есть совет передать промежуточное ПО, но я не смог этого сделать ...
3 - Я использую grpahql-yoga для сервера.
//Database 1 from ormconfig.json
export const createTypeormGraphql1 = async () => {
const connectionOptions = await getConnectionOptions('database1')
return createConnection({
...connectionOptions,
name: 'default',
})
}
//Database 2 from ormconfig.json
export const createTypeormGraphql2 = async () => {
const connectionOptions = await getConnectionOptions('database2')
return createConnection({
...connectionOptions,
name: 'default',
})
}
export const startServer = async () => {
const schemas: //...CODE
// Graphql1 Server
await createTypeormGraphql1()
const serverGraphql1 = new GraphQLServer({
schema: mergeSchemas({ schemas }),
})
const options1 = {
port: process.env.PORT || 4000,
playground: '/play1',
endpoint: '/graphql1',
}
await serverGraphql1.start(options1)
// Graphql2 Server
await createTypeormGraphql2()
const serverGraphql2 = new GraphQLServer({
schema: mergeSchemas({ schemas }),
})
const options2 = {
port: process.env.PORT || 4000,
playground: '/play2',
endpoint: '/graphql2',
}
await serverGraphql2.start(options2)
}
startServer()
С этим кодом, если закомментировать serverGraphql1 или serverGraphql2 другой работает и идет в базу данных, которую я хочу, но я не хочу делать это каждый раз, я хочу назначить каждому из них конечную точку на том же сервере. ..