UNPKG

@riao/dbal

Version:
97 lines (96 loc) 4.65 kB
import { StatementBuilder } from '../builder/statement-builder'; import { ColumnOptions, ColumnType } from '../column'; import { AddColumnsOptions, AddForeignKeyOptions, ChangeColumnOptions, DropColumnOptions, DropForeignKeyOptions, RenameTableOptions } from './alter-table'; import { CreateDatabaseOptions } from './create-database'; import { CreateTableOptions } from './create-table'; import { CreateUserOptions } from './create-user'; import { DropDatabaseOptions } from './drop-database'; import { DropTableOptions } from './drop-table'; import { DropUserOptions } from './drop-user'; import { ForeignKeyConstraint, ForeignKeyReferenceOption } from './foreign-key-constraint'; import { GrantOn, GrantOptions } from './grant'; import { TruncateOptions } from './truncate'; import { DatabaseQueryBuilder } from '../dml'; import { CreateIndexOptions } from './create-index'; import { DropTriggerOptions, TriggerBody, TriggerOptions } from '../triggers'; export declare class DataDefinitionBuilder extends StatementBuilder { protected columnTypes: typeof ColumnType; protected queryBuilderType: typeof DatabaseQueryBuilder; getQueryBuilder(): DatabaseQueryBuilder; getColumnTypes(): typeof ColumnType; createDatabaseStatement(): this; createDatabase(options: CreateDatabaseOptions): this; createUserStatement(): this; createUserPassword(password: string): this; createUser(options: CreateUserOptions): this; createTableStatement(): this; ifNotExists(): this; createColumnType(column: ColumnOptions): this; columnRequired(): this; columnDefaultValue(column: ColumnOptions): this; columnDefaultNull(): this; columnDefaultTrue(): this; columnDefaultFalse(): this; columnAutoIncrement(): this; createTableColumn(column: ColumnOptions): this; createTablePrimaryKeys(names: string[]): this; createTableColumns(options: CreateTableOptions): this; createTable(options: CreateTableOptions): this; constraintStatement(): this; createTableTriggers(options: CreateTableOptions): this; createIndex(options: CreateIndexOptions): this; grantOnDatabase(database: string): this; grantOn(on: GrantOn): this; /** * IMPORTANT: UNSTABLE. Grant is currently only compatible with * mysql and mssql and may cause unintended side-effects and/or * privilege escalation. * This should not be used in most circumstances! * Use a dedicated database connection for this method, as it may change * the database connection's default database. * This method and it's arguments are likely to change in future versions * * @param options Grant options * @returns */ grant(options: GrantOptions): this; foreignKeyStatement(): this; foreignKeyName(childTable: string, fk: ForeignKeyConstraint): this; foreignKeyColumns(columns: string[]): this; referencesStatement(table: string, columns: string[]): this; fkOnUpdate(option: ForeignKeyReferenceOption): this; fkOnDelete(option: ForeignKeyReferenceOption): this; foreignKeyConstraint(childTable: string, fk: ForeignKeyConstraint): void; disableForeignKeyChecks(): this; enableForeignKeyChecks(): this; uniqueConstraint(table: string, column: string): this; alterTableStatement(table: string): this; addColumns(options: AddColumnsOptions): this; addForeignKey(options: AddForeignKeyOptions): this; alterColumnStatement(column: string): this; changeColumn(options: ChangeColumnOptions): this; dropColumn(options: DropColumnOptions): this; dropForeignKey(options: DropForeignKeyOptions): this; renameTable(options: RenameTableOptions): this; dropDatabase(options: DropDatabaseOptions): this; dropTable(options: DropTableOptions): this; dropUser(options: DropUserOptions): this; truncate(options: TruncateOptions): this; createTrigger(options: TriggerOptions): this; createTriggerStatement(): this; getTriggerName(options: TriggerOptions): string; createTriggerTableEvent(options: TriggerOptions): this; createTriggerTable(table: string): this; createTriggerEvent(options: TriggerOptions): this; createTriggerBody(sql: TriggerBody): this; createTriggerBeginStatement(): this; createTriggerEndStatement(): this; createTriggerForEachRow(): this; dropTrigger(options: DropTriggerOptions): this; dropTriggerStatement(): this; ifExists(): this; dropTriggerName(options: { name: string; table: string; }): this; }