Skip to main content

DdlBuilder

Defined in: js-api/src/entities/data-connection.ts:558

Fluent builder for structured DDL against one connection, obtained via grok.data.db.ddl(connectionId). Mirrors TableMutationBuilder; every terminal returns a DdlCommand carrying exactly one operation.

Requires a provider with DDL support (Postgres, MySQL/MariaDB, MSSQL, Oracle — there is no generic-JDBC DDL fallback; others reject with a structured capability error) and the matching fine-grained saved-connection privilege (DataConnection.CreateTable for createTable, DropTable for dropTable, TruncateTable for truncateTable, AlterSchema for the rest), enforced server-side.

Constructors

Constructor

new DdlBuilder(connectionId): DdlBuilder

Defined in: js-api/src/entities/data-connection.ts:561

Parameters

ParameterType
connectionIdstring

Returns

DdlBuilder

Properties

PropertyModifierTypeDefined in
connectionIdreadonlystringjs-api/src/entities/data-connection.ts:561

Methods

addKey()

addKey(tableName, spec): DdlCommand

Defined in: js-api/src/entities/data-connection.ts:598

Adds a primary- or foreign-key constraint; refTable/refColumns are foreign-only. The constraint name is auto-generated (pk_<table> / fk_<table>_<col>) when absent.

Parameters

ParameterType
tableNamestring
spec{ columns: string[]; keyType: "primary" | "foreign"; name?: string; refColumns?: string[]; refTable?: string; }
spec.columnsstring[]
spec.keyType"primary" | "foreign"
spec.name?string
spec.refColumns?string[]
spec.refTable?string

Returns

DdlCommand


alterTable()

alterTable(tableName): AlterTableBuilder

Defined in: js-api/src/entities/data-connection.ts:578

Single-action ALTER TABLE operations on [tableName].

Parameters

ParameterType
tableNamestring

Returns

AlterTableBuilder


createIndex()

createIndex(tableName, columns, options?): DdlCommand

Defined in: js-api/src/entities/data-connection.ts:584

CREATE [UNIQUE] INDEX on [columns]; the name is auto-generated (ix_<table>_<col>) when absent.

Parameters

ParameterType
tableNamestring
columnsstring[]
options?{ name?: string; unique?: boolean; }
options.name?string
options.unique?boolean

Returns

DdlCommand


createTable()

createTable(tableName, columns, options?): DdlCommand

Defined in: js-api/src/entities/data-connection.ts:568

CREATE TABLE with optional primary key and indexes. Foreign keys are not part of the create — create first, then addKey.

Parameters

ParameterType
tableNamestring
columnsDdlColumn[]
options?{ ifNotExists?: boolean; indexes?: DdlIndex[]; primaryKey?: string[]; }
options.ifNotExists?boolean
options.indexes?DdlIndex[]
options.primaryKey?string[]

Returns

DdlCommand


dropIndex()

dropIndex(tableName, indexName): DdlCommand

Defined in: js-api/src/entities/data-connection.ts:592

DROP INDEX by name.

Parameters

ParameterType
tableNamestring
indexNamestring

Returns

DdlCommand


dropTable()

dropTable(tableName): DdlCommand

Defined in: js-api/src/entities/data-connection.ts:609

DROP TABLE — destructive: requires execute({confirmDestructive: true}) (the refusal carries the plan with the live row count).

Parameters

ParameterType
tableNamestring

Returns

DdlCommand


schema()

schema(schema): DdlBuilder

Defined in: js-api/src/entities/data-connection.ts:564

Sets the database schema for subsequently built operations.

Parameters

ParameterType
schemastring

Returns

DdlBuilder


truncateTable()

truncateTable(tableName): DdlCommand

Defined in: js-api/src/entities/data-connection.ts:612

TRUNCATE TABLE — destructive, same confirmation contract as dropTable.

Parameters

ParameterType
tableNamestring

Returns

DdlCommand