如何使用TypeOrm创建连接池?在探索TypeOrm时,我想创建用于使用MySql的连接池
以下是代码段:
import { createConnection } from 'typeorm';
export const databaseProviders = [
{
provide: 'DbConnectionToken',
useFactory: async () => await createConnection({
type: 'mysql',
host: 'localhost',
port: 8889,
username: 'root',
password: 'root',
database: 'typeorm_test',
entities: [
__dirname + '/../**/**.entity{.ts,.js}',
],
autoSchemaSync: true,
logging: 'all',
}),
},
];
答案 0 :(得分:2)
TypeORM总是为您创建一个开箱即用的连接池,您不需要设置任何东西。它使用每个请求池中的一个连接到存储库/实体管理器方法,或每个事务。
答案 1 :(得分:0)
您需要将#!/bin/bash
#SBATCH --job-name=arrayJob
#SBATCH --output=arrayJob_%A_%a.out
#SBATCH --error=arrayJob_%A_%a.err
#SBATCH --array=1-8
#SBATCH --time=01:00:00
#SBATCH --ntasks=1
# Print this sub-job's task ID
echo hello
参数传递给基础数据库。在official doc中,在typeorm中看起来像只有支持连接池的mssql和mongo。
答案 2 :(得分:0)
TypeORM默认情况下使用默认为10个连接的连接池。如果您希望有自定义池限制(建议),则可以在connectionLimit
选项下的extra
中提到相同的条件,这些选项将传递给底层MySQL驱动程序。
[
{
"name": "default",
"type": "mysql",
"host": "mysql.db",
"port": 3306,
"username": "appUser",
"password": "appRandomPassword",
"database": "entity_schema",
"entities": [
"dist/models/entities/**/*.js"
],
"logging": [
"error"
],
"extra": {
"connectionLimit": 5
}
}
]
MySQL Connection pooling options,可根据需要在extra
下传递。