MCPcopy
hub / github.com/directus/directus / getDatabaseClient

Function getDatabaseClient

api/src/database/index.ts:253–275  ·  view source on GitHub ↗
(database?: Knex)

Source from the content-addressed store, hash-verified

251}
252
253export function getDatabaseClient(database?: Knex): DatabaseClient {
254 database = database ?? getDatabase();
255
256 switch (database.client.constructor.name) {
257 case 'Client_MySQL2':
258 return 'mysql';
259 case 'Client_PG':
260 return 'postgres';
261 case 'Client_CockroachDB':
262 return 'cockroachdb';
263 case 'Client_SQLite3':
264 return 'sqlite';
265 case 'Client_Oracledb':
266 case 'Client_Oracle':
267 return 'oracle';
268 case 'Client_MSSQL':
269 return 'mssql';
270 case 'Client_Redshift':
271 return 'redshift';
272 }
273
274 throw new Error(`Couldn't extract database client`);
275}
276
277export async function isInstalled(): Promise<boolean> {
278 const inspector = getSchemaInspector();

Callers 15

hasDatabaseConnectionFunction · 0.70
validateDatabaseCharsetFunction · 0.70
getSnapshotFunction · 0.50
validateSnapshotFunction · 0.50
transactionFunction · 0.50
getReportFunction · 0.50
getHelpersFunction · 0.50
getFunctionsFunction · 0.50
isOneOfClientsFunction · 0.50
translateDatabaseErrorFunction · 0.50

Calls 1

getDatabaseFunction · 0.85

Tested by

no test coverage detected