Documentation

AbstractSchemaManager
in package

AbstractYes

Base class for schema managers. Schema managers are used to inspect and/or modify the database schema/structure.

Tags
template

T of AbstractPlatform

Table of Contents

Properties

$_conn  : Connection
Holds instance of the Doctrine connection for this schema manager.
$_platform  : T
Holds instance of the database platform used for this schema manager.

Methods

__construct()  : mixed
alterSchema()  : void
Alters an existing schema.
alterTable()  : void
Alters an existing tables schema.
createComparator()  : Comparator
createConstraint()  : void
Creates a constraint on a table.
createDatabase()  : void
Creates a new database.
createForeignKey()  : void
Creates a new foreign key.
createIndex()  : void
Creates a new index on a table.
createSchema()  : Schema
Creates a schema instance for the current database.
createSchemaConfig()  : SchemaConfig
Creates the configuration for this schema.
createSchemaObjects()  : void
createSequence()  : void
Creates a new sequence.
createTable()  : void
Creates a new table.
createUniqueConstraint()  : void
Creates a unique constraint on a table.
createView()  : void
Creates a new view.
dropAndCreateConstraint()  : void
Drops and creates a constraint.
dropAndCreateDatabase()  : void
Drops and creates a new database.
dropAndCreateForeignKey()  : void
Drops and creates a new foreign key.
dropAndCreateIndex()  : void
Drops and creates a new index on a table.
dropAndCreateSequence()  : void
Drops and create a new sequence.
dropAndCreateTable()  : void
Drops and creates a new table.
dropAndCreateView()  : void
Drops and creates a new view.
dropConstraint()  : void
Drops the constraint from the given table.
dropDatabase()  : void
Drops a database.
dropForeignKey()  : void
Drops a foreign key from a table.
dropIndex()  : void
Drops the index from the given table.
dropSchema()  : void
Drops a schema.
dropSchemaObjects()  : void
dropSequence()  : void
Drops a sequence with a given name.
dropTable()  : void
Drops the given table.
dropUniqueConstraint()  : void
Drops the unique constraint from the given table.
dropView()  : void
Drops a view.
getDatabasePlatform()  : T
Returns the associated platform.
getSchemaSearchPaths()  : array<string|int, string>
The search path for namespaces in the currently connected database.
introspectSchema()  : Schema
Returns a {@see Schema} instance representing the current database schema.
introspectTable()  : Table
Introspects the table with the given name.
listDatabases()  : array<string|int, string>
Lists the available databases for this connection.
listNamespaceNames()  : array<string|int, string>
Returns a list of all namespaces in the current database.
listSchemaNames()  : array<int, string>
Returns a list of the names of all schemata in the current database.
listSequences()  : array<string|int, Sequence>
Lists the available sequences for this connection.
listTableColumns()  : array<string|int, Column>
Lists the columns for a given table.
listTableDetails()  : Table
listTableForeignKeys()  : array<string|int, ForeignKeyConstraint>
Lists the foreign keys for the given table.
listTableIndexes()  : array<string|int, Index>
Lists the indexes for a given table returning an array of Index instances.
listTableNames()  : array<string|int, string>
Returns a list of all tables in the current database.
listTables()  : array<int, Table>
Lists the tables for this connection.
listViews()  : array<string|int, View>
Lists the views this connection has.
migrateSchema()  : void
Migrates an existing schema to a new schema.
renameTable()  : void
Renames a given table to another name.
tablesExist()  : bool
Returns true if all the given tables exist.
tryMethod()  : mixed
Tries any method on the schema manager. Normally a method throws an exception when your DBMS doesn't support it or if an error occurs.
_getPortableDatabaseDefinition()  : mixed
_getPortableDatabasesList()  : array<string|int, string>
_getPortableSequenceDefinition()  : Sequence
_getPortableSequencesList()  : array<string|int, Sequence>
_getPortableTableColumnDefinition()  : Column
Gets Table Column Definition.
_getPortableTableColumnList()  : array<string|int, Column>
Independent of the database the keys of the column list result are lowercased.
_getPortableTableDefinition()  : string
_getPortableTableForeignKeyDefinition()  : ForeignKeyConstraint
_getPortableTableForeignKeysList()  : array<string|int, ForeignKeyConstraint>
_getPortableTableIndexesList()  : array<string|int, Index>
Aggregates and groups the index results according to the required data result.
_getPortableTablesList()  : array<string|int, string>
_getPortableViewDefinition()  : View|false
_getPortableViewsList()  : array<string|int, View>
doListTableColumns()  : array<string|int, Column>
doListTableDetails()  : Table
doListTableForeignKeys()  : array<string|int, ForeignKeyConstraint>
doListTableIndexes()  : array<string|int, Index>
doListTableNames()  : array<int, string>
doListTables()  : array<int, Table>
fetchForeignKeyColumnsByTable()  : array<string, array<int, array<string, mixed>>>
Fetches definitions of foreign key columns in the specified database and returns them grouped by table name.
fetchIndexColumnsByTable()  : array<string, array<int, array<string, mixed>>>
Fetches definitions of index columns in the specified database and returns them grouped by table name.
fetchTableColumnsByTable()  : array<string, array<int, array<string, mixed>>>
Fetches definitions of table columns in the specified database and returns them grouped by table name.
fetchTableOptionsByTable()  : array<string, array<string, mixed>>
Fetches table options for the tables in the specified database and returns them grouped by table name.
filterAssetNames()  : array<string|int, mixed>
Filters asset names if they are configured to return only a subset of all the found elements.
getPortableNamespaceDefinition()  : mixed
Converts a namespace definition from the native DBMS data definition to a portable Doctrine definition.
getPortableNamespacesList()  : array<string|int, string>
Converts a list of namespace names from the native DBMS data definition to a portable Doctrine definition.
normalizeName()  : string
An extension point for those platforms where case sensitivity of the object name depends on whether it's quoted.
selectForeignKeyColumns()  : Result
Selects definitions of foreign key columns in the specified database. If the table name is specified, narrows down the selection to this table.
selectIndexColumns()  : Result
Selects definitions of index columns in the specified database. If the table name is specified, narrows down the selection to this table.
selectTableColumns()  : Result
Selects definitions of table columns in the specified database. If the table name is specified, narrows down the selection to this table.
selectTableNames()  : Result
Selects names of tables in the specified database.
fetchAllAssociativeGrouped()  : array<string, array<int, array<string, mixed>>>
getDatabase()  : string

Properties

$_conn

Holds instance of the Doctrine connection for this schema manager.

protected Connection $_conn

$_platform

Holds instance of the database platform used for this schema manager.

protected T $_platform

Methods

__construct()

public __construct(Connection $connection, T $platform) : mixed
Parameters
$connection : Connection
$platform : T

createConstraint()

Creates a constraint on a table.

public createConstraint(Constraint $constraint, Table|string $table) : void
Parameters
$constraint : Constraint
$table : Table|string
Tags
deprecated

Use createIndex(), createForeignKey() or createUniqueConstraint() instead.

throws
Exception

createDatabase()

Creates a new database.

public createDatabase(string $database) : void
Parameters
$database : string

The name of the database to create.

Tags
throws
Exception

createIndex()

Creates a new index on a table.

public createIndex(Index $index, Table|string $table) : void
Parameters
$index : Index
$table : Table|string

The name of the table on which the index is to be created.

Tags
throws
Exception

dropAndCreateConstraint()

Drops and creates a constraint.

public dropAndCreateConstraint(Constraint $constraint, Table|string $table) : void
Parameters
$constraint : Constraint
$table : Table|string
Tags
deprecated

Use dropIndex() and createIndex(), dropForeignKey() and createForeignKey() or dropUniqueConstraint() and createUniqueConstraint() instead.

see
dropConstraint()
see
createConstraint()
throws
Exception

dropAndCreateDatabase()

Drops and creates a new database.

public dropAndCreateDatabase(string $database) : void
Parameters
$database : string

The name of the database to create.

Tags
deprecated

Use dropDatabase() and createDatabase() instead.

throws
Exception

dropAndCreateForeignKey()

Drops and creates a new foreign key.

public dropAndCreateForeignKey(ForeignKeyConstraint $foreignKey, Table|string $table) : void
Parameters
$foreignKey : ForeignKeyConstraint

An associative array that defines properties of the foreign key to be created.

$table : Table|string

The name of the table on which the foreign key is to be created.

Tags
deprecated

Use dropForeignKey() and createForeignKey() instead.

throws
Exception

dropAndCreateIndex()

Drops and creates a new index on a table.

public dropAndCreateIndex(Index $index, Table|string $table) : void
Parameters
$index : Index
$table : Table|string

The name of the table on which the index is to be created.

Tags
deprecated

Use dropIndex() and createIndex() instead.

throws
Exception

dropAndCreateSequence()

Drops and create a new sequence.

public dropAndCreateSequence(Sequence $sequence) : void
Parameters
$sequence : Sequence
Tags
deprecated

Use dropSequence() and createSequence() instead.

throws
Exception

dropAndCreateTable()

Drops and creates a new table.

public dropAndCreateTable(Table $table) : void
Parameters
$table : Table
Tags
deprecated

Use dropTable() and createTable() instead.

throws
Exception

dropAndCreateView()

Drops and creates a new view.

public dropAndCreateView(View $view) : void
Parameters
$view : View
Tags
deprecated

Use dropView() and createView() instead.

throws
Exception

dropConstraint()

Drops the constraint from the given table.

public dropConstraint(Constraint $constraint, Table|string $table) : void
Parameters
$constraint : Constraint
$table : Table|string

The name of the table.

Tags
deprecated

Use dropIndex(), dropForeignKey() or dropUniqueConstraint() instead.

throws
Exception

dropDatabase()

Drops a database.

public dropDatabase(string $database) : void

NOTE: You can not drop the database this SchemaManager is currently connected to.

Parameters
$database : string

The name of the database to drop.

Tags
throws
Exception

dropIndex()

Drops the index from the given table.

public dropIndex(Index|string $index, Table|string $table) : void
Parameters
$index : Index|string

The name of the index.

$table : Table|string

The name of the table.

Tags
throws
Exception

dropSequence()

Drops a sequence with a given name.

public dropSequence(string $name) : void
Parameters
$name : string

The name of the sequence to drop.

Tags
throws
Exception

dropTable()

Drops the given table.

public dropTable(string $name) : void
Parameters
$name : string

The name of the table to drop.

Tags
throws
Exception

dropUniqueConstraint()

Drops the unique constraint from the given table.

public dropUniqueConstraint(string $name, string $tableName) : void
Parameters
$name : string
$tableName : string
Tags
throws
Exception

getDatabasePlatform()

Returns the associated platform.

public getDatabasePlatform() : T
Tags
deprecated

Use instead.

Return values
T

getSchemaSearchPaths()

The search path for namespaces in the currently connected database.

public getSchemaSearchPaths() : array<string|int, string>

The first entry is usually the default namespace in the Schema. All further namespaces contain tables/sequences which can also be addressed with a short, not full-qualified name.

For databases that don't support subschema/namespaces this method returns the name of the currently connected database.

Tags
deprecated
throws
Exception
Return values
array<string|int, string>

listDatabases()

Lists the available databases for this connection.

public listDatabases() : array<string|int, string>
Tags
throws
Exception
Return values
array<string|int, string>

listNamespaceNames()

Returns a list of all namespaces in the current database.

public listNamespaceNames() : array<string|int, string>
Tags
deprecated

Use listSchemaNames() instead.

throws
Exception
Return values
array<string|int, string>

listSchemaNames()

Returns a list of the names of all schemata in the current database.

public listSchemaNames() : array<int, string>
Tags
throws
Exception
Return values
array<int, string>

listSequences()

Lists the available sequences for this connection.

public listSequences([string|null $database = null ]) : array<string|int, Sequence>
Parameters
$database : string|null = null
Tags
throws
Exception
Return values
array<string|int, Sequence>

listTableColumns()

Lists the columns for a given table.

public listTableColumns(string $table[, string|null $database = null ]) : array<string|int, Column>

In contrast to other libraries and to the old version of Doctrine, this column definition does try to contain the 'primary' column for the reason that it is not portable across different RDBMS. Use listTableIndexes($tableName) to retrieve the primary key of a table. Where a RDBMS specifies more details, these are held in the platformDetails array.

Parameters
$table : string

The name of the table.

$database : string|null = null
Tags
throws
Exception
Return values
array<string|int, Column>

listTableForeignKeys()

Lists the foreign keys for the given table.

public listTableForeignKeys(string $table[, string|null $database = null ]) : array<string|int, ForeignKeyConstraint>
Parameters
$table : string

The name of the table.

$database : string|null = null
Tags
throws
Exception
Return values
array<string|int, ForeignKeyConstraint>

listTableIndexes()

Lists the indexes for a given table returning an array of Index instances.

public listTableIndexes(string $table) : array<string|int, Index>

Keys of the portable indexes list are all lower-cased.

Parameters
$table : string

The name of the table.

Tags
throws
Exception
Return values
array<string|int, Index>

listTableNames()

Returns a list of all tables in the current database.

public listTableNames() : array<string|int, string>
Tags
throws
Exception
Return values
array<string|int, string>

renameTable()

Renames a given table to another name.

public renameTable(string $name, string $newName) : void
Parameters
$name : string

The current name of the table.

$newName : string

The new name of the table.

Tags
throws
Exception

tablesExist()

Returns true if all the given tables exist.

public tablesExist(string|array<string|int, string> $names) : bool

The usage of a string $tableNames is deprecated. Pass a one-element array instead.

Parameters
$names : string|array<string|int, string>
Tags
throws
Exception
Return values
bool

tryMethod()

Tries any method on the schema manager. Normally a method throws an exception when your DBMS doesn't support it or if an error occurs.

public tryMethod() : mixed

This method allows you to try and method on your SchemaManager instance and will return false if it does not work or is not supported.

$result = $sm->tryMethod('dropView', 'view_name');
Tags
deprecated

_getPortableDatabaseDefinition()

protected _getPortableDatabaseDefinition(mixed $database) : mixed
Parameters
$database : mixed

_getPortableDatabasesList()

protected _getPortableDatabasesList(array<string|int, mixed> $databases) : array<string|int, string>
Parameters
$databases : array<string|int, mixed>
Return values
array<string|int, string>

_getPortableSequencesList()

protected _getPortableSequencesList(array<string|int, array<string|int, mixed>> $sequences) : array<string|int, Sequence>
Parameters
$sequences : array<string|int, array<string|int, mixed>>
Tags
throws
Exception
Return values
array<string|int, Sequence>

_getPortableTableColumnDefinition()

Gets Table Column Definition.

protected abstract _getPortableTableColumnDefinition(array<string|int, mixed> $tableColumn) : Column
Parameters
$tableColumn : array<string|int, mixed>
Tags
throws
Exception
Return values
Column

_getPortableTableColumnList()

Independent of the database the keys of the column list result are lowercased.

protected _getPortableTableColumnList(string $table, string $database, array<string|int, array<string|int, mixed>> $tableColumns) : array<string|int, Column>

The name of the created column instance however is kept in its case.

Parameters
$table : string

The name of the table.

$database : string
$tableColumns : array<string|int, array<string|int, mixed>>
Tags
throws
Exception
Return values
array<string|int, Column>

_getPortableTableDefinition()

protected _getPortableTableDefinition(mixed $table) : string
Parameters
$table : mixed
Return values
string

_getPortableTableForeignKeysList()

protected _getPortableTableForeignKeysList(array<string|int, array<string|int, mixed>> $tableForeignKeys) : array<string|int, ForeignKeyConstraint>
Parameters
$tableForeignKeys : array<string|int, array<string|int, mixed>>
Return values
array<string|int, ForeignKeyConstraint>

_getPortableTableIndexesList()

Aggregates and groups the index results according to the required data result.

protected _getPortableTableIndexesList(array<string|int, array<string|int, mixed>> $tableIndexes[, string|null $tableName = null ]) : array<string|int, Index>
Parameters
$tableIndexes : array<string|int, array<string|int, mixed>>
$tableName : string|null = null
Tags
throws
Exception
Return values
array<string|int, Index>

_getPortableTablesList()

protected _getPortableTablesList(array<string|int, array<string|int, mixed>> $tables) : array<string|int, string>
Parameters
$tables : array<string|int, array<string|int, mixed>>
Return values
array<string|int, string>

_getPortableViewDefinition()

protected _getPortableViewDefinition(array<string|int, mixed> $view) : View|false
Parameters
$view : array<string|int, mixed>
Return values
View|false

_getPortableViewsList()

protected _getPortableViewsList(array<string|int, array<string|int, mixed>> $views) : array<string|int, View>
Parameters
$views : array<string|int, array<string|int, mixed>>
Return values
array<string|int, View>

doListTableColumns()

protected doListTableColumns(string $table[, string|null $database = null ]) : array<string|int, Column>
Parameters
$table : string
$database : string|null = null
Tags
throws
Exception
Return values
array<string|int, Column>

fetchForeignKeyColumnsByTable()

Fetches definitions of foreign key columns in the specified database and returns them grouped by table name.

protected fetchForeignKeyColumnsByTable(string $databaseName) : array<string, array<int, array<string, mixed>>>
Parameters
$databaseName : string
Tags
throws
Exception
Return values
array<string, array<int, array<string, mixed>>>

fetchIndexColumnsByTable()

Fetches definitions of index columns in the specified database and returns them grouped by table name.

protected fetchIndexColumnsByTable(string $databaseName) : array<string, array<int, array<string, mixed>>>
Parameters
$databaseName : string
Tags
throws
Exception
Return values
array<string, array<int, array<string, mixed>>>

fetchTableColumnsByTable()

Fetches definitions of table columns in the specified database and returns them grouped by table name.

protected fetchTableColumnsByTable(string $databaseName) : array<string, array<int, array<string, mixed>>>
Parameters
$databaseName : string
Tags
throws
Exception
Return values
array<string, array<int, array<string, mixed>>>

fetchTableOptionsByTable()

Fetches table options for the tables in the specified database and returns them grouped by table name.

protected fetchTableOptionsByTable(string $databaseName[, string|null $tableName = null ]) : array<string, array<string, mixed>>

If the table name is specified, narrows down the selection to this table.

Parameters
$databaseName : string
$tableName : string|null = null
Tags
throws
Exception
Return values
array<string, array<string, mixed>>

filterAssetNames()

Filters asset names if they are configured to return only a subset of all the found elements.

protected filterAssetNames(array<string|int, mixed> $assetNames) : array<string|int, mixed>
Parameters
$assetNames : array<string|int, mixed>
Return values
array<string|int, mixed>

getPortableNamespaceDefinition()

Converts a namespace definition from the native DBMS data definition to a portable Doctrine definition.

protected getPortableNamespaceDefinition(array<string, mixed> $namespace) : mixed
Parameters
$namespace : array<string, mixed>

The native DBMS namespace definition.

Tags
deprecated

Use listSchemaNames() instead.

getPortableNamespacesList()

Converts a list of namespace names from the native DBMS data definition to a portable Doctrine definition.

protected getPortableNamespacesList(array<int, array<string, mixed>> $namespaces) : array<string|int, string>
Parameters
$namespaces : array<int, array<string, mixed>>

The list of namespace names in the native DBMS data definition.

Tags
deprecated

Use listSchemaNames() instead.

Return values
array<string|int, string>

normalizeName()

An extension point for those platforms where case sensitivity of the object name depends on whether it's quoted.

protected normalizeName(string $name) : string

Such platforms should convert a possibly quoted name into a value of the corresponding case.

Parameters
$name : string
Return values
string

selectForeignKeyColumns()

Selects definitions of foreign key columns in the specified database. If the table name is specified, narrows down the selection to this table.

protected selectForeignKeyColumns(string $databaseName[, string|null $tableName = null ]) : Result
Parameters
$databaseName : string
$tableName : string|null = null
Tags
throws
Exception
Return values
Result

selectIndexColumns()

Selects definitions of index columns in the specified database. If the table name is specified, narrows down the selection to this table.

protected selectIndexColumns(string $databaseName[, string|null $tableName = null ]) : Result
Parameters
$databaseName : string
$tableName : string|null = null
Tags
throws
Exception
Return values
Result

selectTableColumns()

Selects definitions of table columns in the specified database. If the table name is specified, narrows down the selection to this table.

protected selectTableColumns(string $databaseName[, string|null $tableName = null ]) : Result
Parameters
$databaseName : string
$tableName : string|null = null
Tags
throws
Exception
abstract
Return values
Result

selectTableNames()

Selects names of tables in the specified database.

protected selectTableNames(string $databaseName) : Result
Parameters
$databaseName : string
Tags
throws
Exception
abstract
Return values
Result

fetchAllAssociativeGrouped()

private fetchAllAssociativeGrouped(Result $result) : array<string, array<int, array<string, mixed>>>
Parameters
$result : Result
Tags
throws
Exception
Return values
array<string, array<int, array<string, mixed>>>

getDatabase()

private getDatabase(string $methodName) : string
Parameters
$methodName : string
Tags
throws
Exception
Return values
string

        
On this page

Search results