29 lines
554 B
JavaScript
Raw Normal View History

2021-06-17 16:17:15 +02:00
'use strict';
2022-08-08 23:33:39 +02:00
const getDialectClass = (client) => {
2021-06-17 16:17:15 +02:00
switch (client) {
case 'postgres':
2021-09-13 16:14:33 +02:00
return require('./postgresql');
2021-06-24 18:28:36 +02:00
case 'mysql':
2021-09-13 16:14:33 +02:00
return require('./mysql');
2021-06-24 18:28:36 +02:00
case 'sqlite':
2021-09-13 16:14:33 +02:00
return require('./sqlite');
2021-06-17 16:17:15 +02:00
default:
2021-12-22 19:59:03 +05:30
throw new Error(`Unknown dialect ${client}`);
2021-06-17 16:17:15 +02:00
}
};
2022-08-08 23:33:39 +02:00
const getDialect = (db) => {
2021-07-28 21:03:32 +02:00
const { client } = db.config.connection;
2021-09-13 16:14:33 +02:00
const constructor = getDialectClass(client);
const dialect = new constructor(db);
2021-07-28 21:03:32 +02:00
dialect.client = client;
return dialect;
};
2021-06-17 16:17:15 +02:00
module.exports = {
getDialect,
};