use read replica for "read"

This commit is contained in:
Hongbo Wu
2024-06-21 14:39:40 +08:00
parent b0d6876e56
commit a1cd611fa7
2 changed files with 39 additions and 32 deletions

View File

@ -23,26 +23,27 @@ export const appDataSource = new DataSource({
max: env.pg.pool.max,
idleTimeoutMillis: 10000, // 10 seconds
},
replication: env.pg.slave
? {
// set the default destination for read queries as the master instance
defaultMode: 'master',
master: {
host: env.pg.host,
port: env.pg.port,
username: env.pg.userName,
password: env.pg.password,
database: env.pg.dbName,
},
slaves: [
{
host: env.pg.slave.host,
port: env.pg.slave.port,
username: env.pg.slave.userName,
password: env.pg.slave.password,
database: env.pg.slave.dbName,
},
],
}
: undefined,
})
if (env.pg.replication) {
appDataSource.setOptions({
replication: {
master: {
host: env.pg.host,
port: env.pg.port,
username: env.pg.userName,
password: env.pg.password,
database: env.pg.dbName,
},
slaves: [
{
host: env.pg.slave.host,
port: env.pg.slave.port,
username: env.pg.slave.userName,
password: env.pg.slave.password,
database: env.pg.slave.dbName,
},
],
},
})
}