diff --git a/adonis-typings/database.ts b/adonis-typings/database.ts index dd8a768f..1d5cca7a 100644 --- a/adonis-typings/database.ts +++ b/adonis-typings/database.ts @@ -10,8 +10,8 @@ /// declare module '@ioc:Adonis/Lucid/Database' { + import knex from 'knex' import { Pool } from 'tarn' - import * as knex from 'knex' import { EventEmitter } from 'events' import { Dictionary } from 'ts-essentials' import { ProfilerRowContract, ProfilerContract } from '@poppinss/profiler' @@ -226,7 +226,6 @@ declare module '@ioc:Adonis/Lucid/Database' { flags?: string, ssl?: any, } - export type MysqlConfigContract = SharedConfigNode & { client: 'mysql', version?: string, @@ -312,7 +311,6 @@ declare module '@ioc:Adonis/Lucid/Database' { maxRows?: number, oracleClientVersion?: number, } - export type OracleConfigContract = SharedConfigNode & { client: 'oracledb', connection?: SharedConnectionNode & OracleConnectionNode, @@ -342,7 +340,6 @@ declare module '@ioc:Adonis/Lucid/Database' { requestTimeout?: number, parseJSON?: boolean, } - export type MssqlConfigContract = SharedConfigNode & { client: 'mssql', version?: string, @@ -515,6 +512,10 @@ declare module '@ioc:Adonis/Lucid/Database' { getClient (mode?: 'write' | 'read'): QueryClientContract, } + /** + * Options when retrieving new query client from the database + * query builder + */ type DatabaseClientOptions = Partial<{ mode: 'read' | 'write', profiler: ProfilerRowContract | ProfilerContract, @@ -545,7 +546,7 @@ declare module '@ioc:Adonis/Lucid/Database' { * Get query client for a given connection. Optionally one can also define * the mode of the connection and profiler row */ - connection (connectionName: string, options?: DatabaseClientOptions): QueryClientContract + connection (connectionName?: string, options?: DatabaseClientOptions): QueryClientContract /** * Get query builder instance for a given connection. @@ -597,4 +598,7 @@ declare module '@ioc:Adonis/Lucid/Database' { */ transaction (): Promise } + + const Database: DatabaseContract + export default Database } diff --git a/adonis-typings/querybuilder.ts b/adonis-typings/querybuilder.ts index b4353624..fd71d502 100644 --- a/adonis-typings/querybuilder.ts +++ b/adonis-typings/querybuilder.ts @@ -12,14 +12,6 @@ declare module '@ioc:Adonis/Lucid/DatabaseQueryBuilder' { import { Dictionary } from 'ts-essentials' import { ProfilerRowContract, ProfilerContract } from '@poppinss/profiler' - /** - * The types for values for the aggregates. We need this coz of - * the history with bigints in Javascript - */ - export interface AggregatesRegistry { - Count: number, - } - /** * Get one or many of a generic */ diff --git a/providers/DatabaseProvider.ts b/providers/DatabaseProvider.ts index 30a72367..c98796b7 100644 --- a/providers/DatabaseProvider.ts +++ b/providers/DatabaseProvider.ts @@ -17,7 +17,7 @@ export class DatabaseServiceProvider { * Register database binding */ public register () { - this.$container.singleton('Adonis/Addons/Database', () => { + this.$container.singleton('Adonis/Lucid/Database', () => { const config = this.$container.use('Adonis/Core/Config').get('database', {}) const Logger = this.$container.use('Adonis/Core/Logger') const Profiler = this.$container.use('Adonis/Core/Profiler')