feat: Add optional config of database connection pooling
This commit is contained in:
@@ -12,6 +12,8 @@ UTILS_SECRET=generate_a_new_key
|
|||||||
# should work out of the box.
|
# should work out of the box.
|
||||||
DATABASE_URL=postgres://user:pass@localhost:5432/outline
|
DATABASE_URL=postgres://user:pass@localhost:5432/outline
|
||||||
DATABASE_URL_TEST=postgres://user:pass@localhost:5432/outline-test
|
DATABASE_URL_TEST=postgres://user:pass@localhost:5432/outline-test
|
||||||
|
DATABASE_CONNECTION_POOL_MIN=
|
||||||
|
DATABASE_CONNECTION_POOL_MAX=
|
||||||
# Uncomment this to disable SSL for connecting to Postgres
|
# Uncomment this to disable SSL for connecting to Postgres
|
||||||
# PGSSLMODE=disable
|
# PGSSLMODE=disable
|
||||||
REDIS_URL=redis://localhost:6379
|
REDIS_URL=redis://localhost:6379
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import * as models from "../models";
|
|||||||
|
|
||||||
const isProduction = process.env.NODE_ENV === "production";
|
const isProduction = process.env.NODE_ENV === "production";
|
||||||
const isSSLDisabled = process.env.PGSSLMODE === "disable";
|
const isSSLDisabled = process.env.PGSSLMODE === "disable";
|
||||||
|
const poolMax = parseInt(process.env.DATABASE_CONNECTION_POOL_MAX || "5", 10);
|
||||||
|
const poolMin = parseInt(process.env.DATABASE_CONNECTION_POOL_MIN || "0", 10);
|
||||||
|
|
||||||
export const sequelize = new Sequelize(
|
export const sequelize = new Sequelize(
|
||||||
process.env.DATABASE_URL || process.env.DATABASE_CONNECTION_POOL_URL || "",
|
process.env.DATABASE_URL || process.env.DATABASE_CONNECTION_POOL_URL || "",
|
||||||
@@ -20,5 +22,11 @@ export const sequelize = new Sequelize(
|
|||||||
: false,
|
: false,
|
||||||
},
|
},
|
||||||
models: Object.values(models),
|
models: Object.values(models),
|
||||||
|
pool: {
|
||||||
|
max: poolMax,
|
||||||
|
min: poolMin,
|
||||||
|
acquire: 30000,
|
||||||
|
idle: 10000,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user