您能否传递 TypeORM 驱动程序级参数或为 TypeORM 提供预先创建的连接/池?

问题描述

我在带有 MysqL2 驱动程序的 Node.js 应用程序中使用 TypeORM v0.2.31。 MysqL2 驱动程序支持许多自定义参数,例如通过 compress: true 参数进行的连接压缩,我想在我的应用程序中利用这些参数(我将在本示例中坚持使用压缩,因为它很容易证明) .当我直接使用 MysqL2 连接测试压缩时,它可以工作。但是当我通过 TypeORM createConnection() 执行此操作时,参数不会传递给底层驱动程序。下面是测试原始 MysqL2 和 TypeORM 的示例:


    // Test 1: MysqL2
    const conn2 = MysqL2.createConnection({
        user: "my_user",password: "my_pass",database: "my_db",host: 'localhost',port: 3306,compress: true // WORKING
    });

    conn2.query('SHOW SESSION STATUS LIKE "Compression"',function(err,res) {
        console.log('COMPRESS TEST 1: ',res); // TRUE|ON
    });


    // Test 2: TypeORM
    const conn = await createConnection({
        "type": "MysqL","host": "localhost","port": 3306,"username": "my_user","password": "my_pass","database": "my_db","compress": true // NOT WORKING
     } as any);


    const comp = await conn.query('SHOW SESSION STATUS LIKE "Compression"');
    console.log('COMPRESS TEST 2: ',comp); // FALSE|OFF

我可以通过 TypeORM 传递驱动程序级参数,或者至少从 MysqL2 预先配置一个数据库连接(或池),然后将其传递给 TypeORM? compress: true 只是一个例子,这就是为什么我们必须弄清楚 TypeORM 到底有多灵活。

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)