从 postgraphile 获取 pgClient
Get pgClient from postgraphile
我正在使用 GraphQL API 生成器 graphile 作为 Express 服务器中的中间件。
我想创建一个自定义 http 端点(不是 graphql),它对 postgres 数据库进行原始 sql 查询。有什么方法可以从 postgraphile 中间件中获取 pgPool/pgQuery 吗?
基本上我需要这样的东西:
app.use(postgraphile(pgConnectionString, pgSchemas, pgOptions));
app.get("/foo", (req, res) => {
// get a pg query / pg client from the postgraphile middleware
// make some query
const result = await pgQuery.query(
"SELECT ...."
);
// do something with result
});
有没有人做过这样的事?
或者换一种方式会更好,即创建一个注入到 postgraphile 中的 pgPool?
干杯!
我通过将 pgPool 注入 postgraphile
中间件解决了这个问题。并使用 pgPool 查询数据库。
// ...
const pool = new Pool({
connectionString: pgConnectionString,
});
pool.on("error", (err, client) => {
console.error("Unexpected error on idle client", err);
});
app.use(postgraphile(pool, pgSchemas, pgOptions));
我正在使用 GraphQL API 生成器 graphile 作为 Express 服务器中的中间件。
我想创建一个自定义 http 端点(不是 graphql),它对 postgres 数据库进行原始 sql 查询。有什么方法可以从 postgraphile 中间件中获取 pgPool/pgQuery 吗?
基本上我需要这样的东西:
app.use(postgraphile(pgConnectionString, pgSchemas, pgOptions));
app.get("/foo", (req, res) => {
// get a pg query / pg client from the postgraphile middleware
// make some query
const result = await pgQuery.query(
"SELECT ...."
);
// do something with result
});
有没有人做过这样的事?
或者换一种方式会更好,即创建一个注入到 postgraphile 中的 pgPool?
干杯!
我通过将 pgPool 注入 postgraphile
中间件解决了这个问题。并使用 pgPool 查询数据库。
// ...
const pool = new Pool({
connectionString: pgConnectionString,
});
pool.on("error", (err, client) => {
console.error("Unexpected error on idle client", err);
});
app.use(postgraphile(pool, pgSchemas, pgOptions));