interface DataAccessLayer {
    pool?: Pool;
    schemaNamespace?: string;
    connect(): Promise<DataAccessLayer>;
    createModel<
        TData extends JsonObject = JsonObject,
        TVirtual extends JsonObject = JsonObject,
    >(
        name: string,
        schema: Record<string, ModelSchemaField<unknown>>,
        options?: JsonObject,
    ): ModelConstructor<TData, TVirtual>;
    disconnect(): Promise<void>;
    getModel<
        TData extends JsonObject = JsonObject,
        TVirtual extends JsonObject = JsonObject,
        TRelations extends string = string,
    >(
        name: string,
    ): ModelConstructor<
        TData,
        TVirtual,
        ModelInstance<TData, TVirtual>,
        TRelations,
    >;
    getModelRegistry(): unknown;
    getRegisteredModels(): Map<
        string,
        ModelConstructor<
            JsonObject,
            JsonObject,
            ModelInstance<JsonObject, JsonObject>,
            string,
        >,
    >;
    migrate(): Promise<void>;
    query<TRecord extends JsonObject = JsonObject>(
        text: string,
        params?: unknown[],
        client?: Pool | PoolClient,
    ): Promise<QueryResult<TRecord>>;
    rollback(migrationsPath?: string): Promise<void>;
}

Implemented by

Properties

pool?: Pool
schemaNamespace?: string

Methods

  • Parameters

    • OptionalmigrationsPath: string

    Returns Promise<void>