29 lines
549 B
JavaScript
Raw Normal View History

2021-06-17 16:17:15 +02:00
'use strict';
2021-09-13 16:14:33 +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-06-29 16:27:35 +02:00
throw new Error(`Unknow dialect ${client}`);
2021-06-17 16:17:15 +02:00
}
};
2021-07-28 21:03:32 +02:00
const getDialect = db => {
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,
};