Need a way to set typeorm connection charset
gregwym opened this issue · 3 comments
Hi Vesper team,
First of all, thanks for this great framework! It works quite well together with TypeORM.
One thing that I couldn't find a solution myself is a way to set the connection charset
for MySQL. With Typeorm, I can do the following
// read connection options from ormconfig file (or ENV variables)
const connectionOptions = await getConnectionOptions();
// create a connection using modified connection options
const connection = await createConnection({
...connectionOptions,
charset: 'UTF8MB4_GENERAL_CI',
} as MysqlConnectionOptions);
It's not been loaded from option reader so this seems the only option.
I'm thinking we can either allow passing a connection
to Vesper or Vesper reuse the existing default
connection automatically (instead of die with AlreadyHasActiveConnectionError
).
I have also tried query set names utf8mb4
after bootstrap. Even if SHOW VARIABLES
indicates character_set_client
is using utf8mb4
already, Typeorm isn't getting emojis correctly.
Update:
Adding useContainer(Container);
before bootstrap together with set names utf8md4
seems solved it.
Update:
SET NAMES utf8mb4
does not solve all the issues. I will dig more into the code to see if its possible to solve it on typeorm layer properly.