Files
directus/api/src/database/functions/index.ts
2021-06-16 18:22:24 -04:00

26 lines
771 B
TypeScript

import { Knex } from 'knex';
import { HelperPostgres } from './dialects/postgres';
import { HelperMySQL } from './dialects/mysql';
import { HelperMSSQL } from './dialects/mssql';
import { HelperSQLite } from './dialects/sqlite';
import { HelperOracle } from './dialects/oracle';
export function FunctionsHelper(knex: Knex) {
switch (knex.client.constructor.name) {
case 'Client_MySQL':
return new HelperMySQL(knex);
case 'Client_PG':
return new HelperPostgres(knex);
case 'Client_SQLite3':
return new HelperSQLite(knex);
case 'Client_Oracledb':
case 'Client_Oracle':
return new HelperOracle(knex);
case 'Client_MSSQL':
return new HelperMSSQL(knex);
default:
throw Error('Unsupported driver used: ' + knex.client.constructor.name);
}
}