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,
|
|
|
|
};
|