OracleSchemaHelper
Hierarchy
- SchemaHelper
- OracleSchemaHelper
Index
Constructors
Properties
Accessors
Methods
- alterTable
- alterTableColumn
- alterTableComment
- append
- appendComments
- castColumn
- createCheck
- createForeignKey
- createIndex
- createMaterializedView
- createRoutine
- createTable
- createTableColumn
- createTrigger
- createView
- databaseExists
- disableForeignKeysSQL
- dropConstraint
- dropForeignKey
- dropIndex
- dropMaterializedViewIfExists
- dropRoutine
- dropTableIfExists
- dropTrigger
- dropViewIfExists
- enableForeignKeysSQL
- finalizeTable
- getAddColumnsSQL
- getAllChecks
- getAllColumns
- getAllForeignKeys
- getAllIndexes
- getAllRoutines
- getAllTables
- getAlterNativeEnumSQL
- getChangeColumnCommentSQL
- getCreateDatabaseSQL
- getCreateIndexSQL
- getCreateNamespaceSQL
- getCreateNativeEnumSQL
- getDatabaseCollation
- getDatabaseExistsSQL
- getDatabaseNotExistsError
- getDefaultEmptyString
- getDropColumnsSQL
- getDropDatabaseSQL
- getDropIndexSQL
- getDropNamespaceSQL
- getDropNativeEnumSQL
- getListMaterializedViewsSQL
- getListTablesSQL
- getListViewsSQL
- getManagementDbName
- getNamespaces
- getPostAlterTable
- getPreAlterTable
- getPrimaryKeys
- getReferencedTableName
- getRenameColumnSQL
- getRenameIndexSQL
- getResetSchemaSQL
- getSchemaBeginning
- getSchemaEnd
- getSetSchemaSQL
- getTablesGroupedBySchemas
- hasNonDefaultPrimaryKeyName
- inferLengthFromColumnType
- loadInformationSchema
- loadMaterializedViews
- loadViews
- mapForeignKeys
- normaliseRoutineParamDirection
- normalizeDefaultValue
- refreshMaterializedView
- resolveMigrationSchema
- routineParamReference
- splitTableName
- supportsMigrationSchema
- supportsSchemaConstraints
- tableExists
Constructors
constructor
Parameters
platform: AbstractSqlPlatform
Returns OracleSchemaHelper
Properties
staticreadonlyDEFAULT_VALUES
Accessors
inheritedoptions
Returns { createForeignKeyConstraints?: boolean; defaultDeleteRule?: cascade | no action | set null | set default | restrict; defaultUpdateRule?: cascade | no action | set null | set default | restrict; disableForeignKeys?: boolean; disableForeignKeysForClear?: boolean; ignoreRoutines?: boolean; ignoreSchema?: string[]; ignoreTriggers?: boolean; managementDbName?: string; skipColumns?: Dictionary<(string | RegExp)[]>; skipTables?: (string | RegExp)[]; skipViews?: (string | RegExp)[]; tableSpace?: string }
optionalcreateForeignKeyConstraints?: boolean
Generate foreign key constraints.
optionaldefaultDeleteRule?: cascade | no action | set null | set default | restrict
Default ON DELETE rule for foreign keys. When not set, no rule is emitted and the database uses its native default (NO ACTION/RESTRICT).
optionaldefaultUpdateRule?: cascade | no action | set null | set default | restrict
Default ON UPDATE rule for foreign keys. When not set, no rule is emitted and the database uses its native default (NO ACTION/RESTRICT).
optionaldisableForeignKeys?: boolean
Try to disable foreign key checks during schema operations.
optionaldisableForeignKeysForClear?: boolean
Try to disable foreign key checks during
schema.clear(). Enabled by default for MySQL/MariaDB.optionalignoreRoutines?: boolean
Leave database stored routines (functions/procedures) unmanaged. New routines are still created, but existing routines are never dropped or altered based on the entity metadata — use this to safely adopt routine support without having pre-existing, hand-written routines removed when they are not mirrored in your metadata.
optionalignoreSchema?: string[]
Schema names to ignore when comparing schemas.
optionalignoreTriggers?: boolean
Leave database triggers unmanaged. Declared triggers are still created, but existing triggers are never dropped or altered based on the entity metadata — use this to protect hand-written triggers from being removed when they are not mirrored in the entity definitions.
optionalmanagementDbName?: string
Database name to use for management operations (e.g., creating/dropping databases).
optionalskipColumns?: Dictionary<(string | RegExp)[]>
Column names or patterns to skip during schema generation, keyed by table name.
optionalskipTables?: (string | RegExp)[]
Table names or patterns to skip during schema generation.
optionalskipViews?: (string | RegExp)[]
View names or patterns to skip during schema generation (e.g. PostGIS system views).
optionaltableSpace?: string
Methods
inheritedalterTable
Returns SQL statements to apply a table difference (add/drop/alter columns, indexes, foreign keys).
Parameters
diff: TableDifference
optionalsafe: boolean
Returns string[]
alterTableColumn
Parameters
column: Column
table: DatabaseTable
changedProperties: Set<string>
Returns string[]
inheritedalterTableComment
Parameters
table: DatabaseTable
optionalcomment: string
Returns string
inheritedappend
Parameters
array: string[]
sql: string | string[]
pad: boolean = false
Returns void
appendComments
Parameters
table: DatabaseTable
Returns string[]
inheritedcastColumn
Parameters
name: string
type: string
Returns string
inheritedcreateCheck
Parameters
table: DatabaseTable
check: CheckDef<unknown>
Returns string
createForeignKey
Returns SQL to create a foreign key constraint on a table.
Parameters
table: DatabaseTable
foreignKey: ForeignKey
alterTable: boolean = true
inline: boolean = false
Returns string
createIndex
Parameters
index: IndexDef
table: DatabaseTable
createPrimary: boolean = false
Returns string
inheritedcreateMaterializedView
Parameters
name: string
schema: undefined | string
definition: string
withData: boolean = true
Returns string
createRoutine
Default no-op so SQLite/libSQL silent-skip routine DDL; routine-capable dialects override.
Parameters
routine: SqlRoutineDef
Returns string
inheritedcreateTable
Returns SQL statements to create a table with all its columns, primary key, indexes, and checks.
Parameters
table: DatabaseTable
optionalalter: boolean
Returns string[]
createTableColumn
Parameters
column: Column
table: DatabaseTable
optionalchangedProperties: Set<string>
Returns undefined | string
inheritedcreateTrigger
Generates SQL to create a database trigger on a table. Override in driver-specific helpers for custom DDL (e.g., PostgreSQL function wrapping).
Parameters
table: DatabaseTable
trigger: SqlTriggerDef
Returns string
inheritedcreateView
Parameters
name: string
schema: undefined | string
definition: string
Returns string
inheriteddatabaseExists
Parameters
connection: Connection
name: string
Returns Promise<boolean>
inheriteddisableForeignKeysSQL
Returns SQL to disable foreign key checks.
Returns string
inheriteddropConstraint
Parameters
table: string
name: string
Returns string
dropForeignKey
Parameters
tableName: string
constraintName: string
Returns string
dropIndex
Parameters
table: string
index: IndexDef
oldIndexName: string = index.keyName
Returns string
inheriteddropMaterializedViewIfExists
Parameters
name: string
optionalschema: string
Returns string
dropRoutine
Uses
IF EXISTS(Oracle 23c+); older versions can extend this helper.Parameters
routine: SqlRoutineDef
Returns string
dropTableIfExists
Returns SQL to drop a table if it exists.
Parameters
name: string
optionalschema: string
Returns string
inheriteddropTrigger
Generates SQL to drop a database trigger from a table. Override in driver-specific helpers for custom DDL.
Parameters
table: DatabaseTable
trigger: SqlTriggerDef
Returns string
dropViewIfExists
Parameters
name: string
optionalschema: string
Returns string
inheritedenableForeignKeysSQL
Returns SQL to re-enable foreign key checks.
Returns string
inheritedfinalizeTable
Parameters
table: DatabaseTable
charset: string
optionalcollate: string
Returns string
getAddColumnsSQL
Returns SQL to add columns to an existing table.
Parameters
table: DatabaseTable
columns: Column[]
Returns string[]
getAllChecks
Parameters
connection: AbstractSqlConnection
tablesBySchemas: Map<undefined | string, Table[]>
optionalctx: any
Returns Promise<Dictionary<CheckDef<unknown>[]>>
getAllColumns
Parameters
connection: AbstractSqlConnection
tablesBySchemas: Map<undefined | string, Table[]>
optionalctx: any
Returns Promise<Dictionary<Column[]>>
getAllForeignKeys
Parameters
connection: AbstractSqlConnection
tablesBySchemas: Map<undefined | string, Table[]>
optionalctx: any
Returns Promise<Dictionary<Dictionary<ForeignKey>>>
getAllIndexes
Parameters
connection: AbstractSqlConnection
tablesBySchemas: Map<undefined | string, Table[]>
optionalctx: any
Returns Promise<Dictionary<IndexDef[]>>
getAllRoutines
Parameters
connection: AbstractSqlConnection
Returns Promise<SqlRoutineDef[]>
getAllTables
Retrieves all tables from the database.
Parameters
connection: AbstractSqlConnection
optionalschemas: string[]
optionalctx: any
Returns Promise<Table[]>
inheritedgetAlterNativeEnumSQL
Parameters
name: string
optionalschema: string
optionalvalue: string
optionalitems: string[]
optionaloldItems: string[]
Returns string
inheritedgetChangeColumnCommentSQL
Parameters
tableName: string
to: Column
optionalschemaName: string
Returns string
getCreateDatabaseSQL
Parameters
name: string
Returns string
getCreateIndexSQL
Returns SQL to create an index on a table.
Parameters
tableName: string
index: IndexDef
partialExpression: boolean = false
Returns string
getCreateNamespaceSQL
Parameters
name: string
Returns string
inheritedgetCreateNativeEnumSQL
Parameters
name: string
values: unknown[]
optionalschema: string
Returns string
getDatabaseCollation
Parameters
connection: AbstractSqlConnection
optionalctx: any
Returns Promise<undefined | string>
getDatabaseExistsSQL
Parameters
name: string
Returns string
getDatabaseNotExistsError
Parameters
dbName: string
Returns string
getDefaultEmptyString
Returns string
getDropColumnsSQL
Parameters
tableName: string
columns: Column[]
optionalschemaName: string
Returns string
getDropDatabaseSQL
Parameters
name: string
Returns string
getDropIndexSQL
Returns SQL to drop an index.
Parameters
tableName: string
index: IndexDef
Returns string
getDropNamespaceSQL
Parameters
name: string
Returns string
inheritedgetDropNativeEnumSQL
Parameters
name: string
optionalschema: string
Returns string
inheritedgetListMaterializedViewsSQL
Returns string
getListTablesSQL
Returns the SQL query to list all tables in the database.
Parameters
optionalschemaName: string
Returns string
getListViewsSQL
Returns string
getManagementDbName
Returns string
getNamespaces
Parameters
connection: AbstractSqlConnection
optionalctx: any
Returns Promise<string[]>
getPostAlterTable
Parameters
tableDiff: TableDifference
safe: boolean
Returns string[]
getPreAlterTable
Parameters
tableDiff: TableDifference
safe: boolean
Returns string[]
inheritedgetPrimaryKeys
Parameters
connection: AbstractSqlConnection
indexes: IndexDef[] = []
tableName: string
optionalschemaName: string
Returns Promise<string[]>
inheritedgetReferencedTableName
Parameters
referencedTableName: string
optionalschema: string
Returns string
getRenameColumnSQL
Returns SQL to rename a column in a table.
Parameters
tableName: string
oldColumnName: string
to: Column
optionalschemaName: string
Returns string
inheritedgetRenameIndexSQL
Parameters
tableName: string
index: IndexDef
oldIndexName: string
Returns string[]
getResetSchemaSQL
Restores the session's schema to the connection's default after a migration.
Parameters
defaultSchema: string
Returns string
inheritedgetSchemaBeginning
Returns SQL to prepend to schema migration scripts (e.g., disabling FK checks).
Parameters
_charset: string
optionaldisableForeignKeys: boolean
Returns string
inheritedgetSchemaEnd
Returns SQL to append to schema migration scripts (e.g., re-enabling FK checks).
Parameters
optionaldisableForeignKeys: boolean
Returns string
getSetSchemaSQL
Sets the current schema for the session (e.g.
SET search_path).Parameters
schema: string
Returns string
inheritedgetTablesGroupedBySchemas
inheritedhasNonDefaultPrimaryKeyName
Parameters
table: DatabaseTable
Returns boolean
inferLengthFromColumnType
Parameters
type: string
Returns undefined | number
loadInformationSchema
Loads table metadata (columns, indexes, foreign keys) from the database information schema.
Parameters
schema: DatabaseSchema
connection: AbstractSqlConnection
tables: Table[]
optionalschemas: string[]
optionalctx: any
Returns Promise<void>
inheritedloadMaterializedViews
Parameters
schema: DatabaseSchema
connection: AbstractSqlConnection
optionalschemaName: string
optionalctx: any
Returns Promise<void>
loadViews
Parameters
schema: DatabaseSchema
connection: AbstractSqlConnection
optionalschemaName: string
optionalctx: any
Returns Promise<void>
mapForeignKeys
Parameters
fks: any[]
tableName: string
optionalschemaName: string
Returns Dictionary
inheritednormaliseRoutineParamDirection
T-SQL doesn't distinguish
OUTfromINOUTin the catalog — overrides fold'out'into'inout'.Parameters
direction: in | out | inout
Returns in | out | inout
normalizeDefaultValue
Parameters
defaultValue: string
length: number
defaultValues: Dictionary<string[]> = {}
stripQuotes: boolean = false
Returns string | number
inheritedrefreshMaterializedView
Parameters
name: string
optionalschema: string
concurrently: boolean = false
Returns string
inheritedresolveMigrationSchema
Returns
undefinedfor schemaless drivers, throws for drivers that have schemas but no session switch.Parameters
schema: undefined | string
Returns undefined | string
inheritedroutineParamReference
T-SQL requires
@nameinside the body; PG/MySQL/Oracle use the bare name.Parameters
name: string
Returns string
inheritedsplitTableName
Parameters
name: string
skipDefaultSchema: boolean = false
Returns [undefined | string, string]
supportsMigrationSchema
Whether the driver supports setting a runtime schema per migration run.
Returns boolean
inheritedsupportsSchemaConstraints
Returns boolean
tableExists
Checks whether a specific table exists in a given schema (not the connection's current schema).
Parameters
connection: AbstractSqlConnection
tableName: string
schemaName: undefined | string
optionalctx: any
Returns Promise<boolean>
Schema introspection helper for Oracle Database.