For AI agents: the complete documentation index is available at /en/llms.txt, the full documentation bundle is available at /en/llms-full.txt, and this page is available as Markdown at /en/reference/sdk/sapi/db/interfaces/DbClient.md.
  • English
  • Interface: DbClient

    Defined in: sapi/db/client.ts:69

    作用域数据库客户端:moduleId/token 与事务状态均封闭在实例内, 多模块打包进同一 SAPI 运行时可安全并发。

    Methods

    setAuthToken()

    setAuthToken(token: string): void;

    Defined in: sapi/db/client.ts:73

    更新鉴权 token(不重建实例,保留进行中的事务状态)。

    Parameters

    ParameterType
    tokenstring

    Returns

    void


    isTxRecording()

    isTxRecording(): boolean;

    Defined in: sapi/db/client.ts:75

    当前实例是否处于 tx 交互式事务中。

    Returns

    boolean


    defineTable()

    defineTable(
       name: string, 
       columns: Record<string, ColumnDef>, 
       opts?: {
      softDelete?: boolean;
    }): Promise<void>;

    Defined in: sapi/db/client.ts:76

    Parameters

    ParameterType
    namestring
    columnsRecord<string, ColumnDef>
    opts?{ softDelete?: boolean; }
    opts.softDelete?boolean

    Returns

    Promise<void>


    query()

    query<T>(table: string, opts?: QueryOptions): Promise<T[]>;

    Defined in: sapi/db/client.ts:77

    Type Parameters

    Type ParameterDefault type
    T extends Record<string, unknown>Record<string, unknown>

    Parameters

    ParameterType
    tablestring
    opts?QueryOptions

    Returns

    Promise<T[]>


    get()

    get<T>(table: string, id: string | number): Promise<T | null>;

    Defined in: sapi/db/client.ts:81

    Type Parameters

    Type ParameterDefault type
    T extends Record<string, unknown>Record<string, unknown>

    Parameters

    ParameterType
    tablestring
    idstring | number

    Returns

    Promise<T | null>


    insert()

    insert<T>(table: string, row: T): Promise<T>;

    Defined in: sapi/db/client.ts:85

    Type Parameters

    Type Parameter
    T extends Record<string, unknown>

    Parameters

    ParameterType
    tablestring
    rowT

    Returns

    Promise<T>


    update()

    update<T>(
       table: string, 
       id: string | number, 
       patch: Partial<T>): Promise<T>;

    Defined in: sapi/db/client.ts:86

    Type Parameters

    Type Parameter
    T extends Record<string, unknown>

    Parameters

    ParameterType
    tablestring
    idstring | number
    patchPartial<T>

    Returns

    Promise<T>


    delete()

    delete(
       table: string, 
       id: string | number, 
       opts?: {
      hard?: boolean;
    }): Promise<void>;

    Defined in: sapi/db/client.ts:91

    Parameters

    ParameterType
    tablestring
    idstring | number
    opts?{ hard?: boolean; }
    opts.hard?boolean

    Returns

    Promise<void>


    tx()

    tx<T>(fn: (tx: TxContext) => Promise<T>): Promise<T>;

    Defined in: sapi/db/client.ts:92

    Type Parameters

    Type Parameter
    T

    Parameters

    ParameterType
    fn(tx: TxContext) => Promise<T>

    Returns

    Promise<T>


    audit()

    audit(
       table: string, 
       rowId: string | number, 
       action: string, 
       data?: Record<string, unknown>): Promise<void>;

    Defined in: sapi/db/client.ts:93

    Parameters

    ParameterType
    tablestring
    rowIdstring | number
    actionstring
    data?Record<string, unknown>

    Returns

    Promise<void>


    idempotent()

    idempotent<T>(
       action: string, 
       key: string, 
       fn: () => Promise<T>): Promise<T>;

    Defined in: sapi/db/client.ts:94

    Type Parameters

    Type Parameter
    T

    Parameters

    ParameterType
    actionstring
    keystring
    fn() => Promise<T>

    Returns

    Promise<T>


    reapOrphanSessions()

    reapOrphanSessions(): Promise<number>;

    Defined in: sapi/db/client.ts:100

    让 db-server 中止本模块名下仍未结束的交互式事务会话,返回被中止的数量。 使用场景:宿主 install 在新脚本实例启动、模块 boot 之前调用,回收 /reload 前旧实例遗留的会话; 业务模块不应调用(会中止自己正在进行的事务)。

    Returns

    Promise<number>

    Properties

    PropertyModifierTypeDescriptionDefined in
    moduleIdreadonlystring绑定的模块唯一标识。sapi/db/client.ts:71