(database?: Knex)
| 251 | } |
| 252 | |
| 253 | export 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 | |
| 277 | export async function isInstalled(): Promise<boolean> { |
| 278 | const inspector = getSchemaInspector(); |
no test coverage detected