AbstractSchemaManager
in package
Base class for schema managers. Schema managers are used to inspect and/or modify the database schema/structure.
Tags
Table of Contents
- $_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.
- __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.
- 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.
- 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.
- extractDoctrineTypeFromComment() : string
- Given a table comment this method tries to extract a typehint for Doctrine Type, or returns the type given as default.
- getDatabasePlatform() : T
- Returns the associated platform.
- getSchemaSearchPaths() : array<string|int, string>
- The search path for namespaces in the currently connected database.
- 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() : list<string|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<string|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.
- removeDoctrineTypeFromComment() : string|null
- 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.
- _execSql() : void
- _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>
- _getPortableUserDefinition() : array<string|int, string>
- _getPortableUsersList() : array<string|int, array<string|int, string>>
- _getPortableViewDefinition() : View|false
- _getPortableViewsList() : array<string|int, View>
- 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.
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
Return values
mixed —alterSchema()
Alters an existing schema.
public
alterSchema(SchemaDiff $schemaDiff) : void
Parameters
- $schemaDiff : SchemaDiff
Tags
Return values
void —alterTable()
Alters an existing tables schema.
public
alterTable(TableDiff $tableDiff) : void
Parameters
- $tableDiff : TableDiff
Tags
Return values
void —createComparator()
public
createComparator() : Comparator
Return values
Comparator —createConstraint()
Creates a constraint on a table.
public
createConstraint(Constraint $constraint, Table|string $table) : void
Parameters
- $constraint : Constraint
- $table : Table|string
Tags
Return values
void —createDatabase()
Creates a new database.
public
createDatabase(string $database) : void
Parameters
- $database : string
-
The name of the database to create.
Tags
Return values
void —createForeignKey()
Creates a new foreign key.
public
createForeignKey(ForeignKeyConstraint $foreignKey, Table|string $table) : void
Parameters
- $foreignKey : ForeignKeyConstraint
-
The ForeignKey instance.
- $table : Table|string
-
The name of the table on which the foreign key is to be created.
Tags
Return values
void —createIndex()
Creates a new index on a table.
public
createIndex(Index $index, Table|string $table) : void
Parameters
Tags
Return values
void —createSchema()
Creates a schema instance for the current database.
public
createSchema() : Schema
Tags
Return values
Schema —createSchemaConfig()
Creates the configuration for this schema.
public
createSchemaConfig() : SchemaConfig
Tags
Return values
SchemaConfig —createSequence()
Creates a new sequence.
public
createSequence(Sequence $sequence) : void
Parameters
- $sequence : Sequence
Tags
Return values
void —createTable()
Creates a new table.
public
createTable(Table $table) : void
Parameters
- $table : Table
Tags
Return values
void —createUniqueConstraint()
Creates a unique constraint on a table.
public
createUniqueConstraint(UniqueConstraint $uniqueConstraint, string $tableName) : void
Parameters
- $uniqueConstraint : UniqueConstraint
- $tableName : string
Tags
Return values
void —createView()
Creates a new view.
public
createView(View $view) : void
Parameters
- $view : View
Tags
Return values
void —dropAndCreateConstraint()
Drops and creates a constraint.
public
dropAndCreateConstraint(Constraint $constraint, Table|string $table) : void
Parameters
- $constraint : Constraint
- $table : Table|string
Tags
Return values
void —dropAndCreateDatabase()
Drops and creates a new database.
public
dropAndCreateDatabase(string $database) : void
Parameters
- $database : string
-
The name of the database to create.
Tags
Return values
void —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
Return values
void —dropAndCreateIndex()
Drops and creates a new index on a table.
public
dropAndCreateIndex(Index $index, Table|string $table) : void
Parameters
Tags
Return values
void —dropAndCreateSequence()
Drops and create a new sequence.
public
dropAndCreateSequence(Sequence $sequence) : void
Parameters
- $sequence : Sequence
Tags
Return values
void —dropAndCreateTable()
Drops and creates a new table.
public
dropAndCreateTable(Table $table) : void
Parameters
- $table : Table
Tags
Return values
void —dropAndCreateView()
Drops and creates a new view.
public
dropAndCreateView(View $view) : void
Parameters
- $view : View
Tags
Return values
void —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
Return values
void —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
Return values
void —dropForeignKey()
Drops a foreign key from a table.
public
dropForeignKey(ForeignKeyConstraint|string $foreignKey, Table|string $table) : void
Parameters
- $foreignKey : ForeignKeyConstraint|string
-
The name of the foreign key.
- $table : Table|string
-
The name of the table with the foreign key.
Tags
Return values
void —dropIndex()
Drops the index from the given table.
public
dropIndex(Index|string $index, Table|string $table) : void
Parameters
Tags
Return values
void —dropSchema()
Drops a schema.
public
dropSchema(string $schemaName) : void
Parameters
- $schemaName : string
Tags
Return values
void —dropSequence()
Drops a sequence with a given name.
public
dropSequence(string $name) : void
Parameters
- $name : string
-
The name of the sequence to drop.
Tags
Return values
void —dropTable()
Drops the given table.
public
dropTable(string $name) : void
Parameters
- $name : string
-
The name of the table to drop.
Tags
Return values
void —dropUniqueConstraint()
Drops the unique constraint from the given table.
public
dropUniqueConstraint(string $name, string $tableName) : void
Parameters
- $name : string
- $tableName : string
Tags
Return values
void —dropView()
Drops a view.
public
dropView(string $name) : void
Parameters
- $name : string
-
The name of the view.
Tags
Return values
void —extractDoctrineTypeFromComment()
Given a table comment this method tries to extract a typehint for Doctrine Type, or returns the type given as default.
public
extractDoctrineTypeFromComment(string|null $comment, string $currentType) : string
Parameters
- $comment : string|null
- $currentType : string
Return values
string —getDatabasePlatform()
Returns the associated platform.
public
getDatabasePlatform() : T
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
Return values
array<string|int, string> —listDatabases()
Lists the available databases for this connection.
public
listDatabases() : array<string|int, string>
Tags
Return values
array<string|int, string> —listNamespaceNames()
Returns a list of all namespaces in the current database.
public
listNamespaceNames() : array<string|int, string>
Tags
Return values
array<string|int, string> —listSchemaNames()
Returns a list of the names of all schemata in the current database.
public
listSchemaNames() : list<string|int, string>
Tags
Return values
list<string|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
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
Return values
array<string|int, Column> —listTableDetails()
public
listTableDetails(string $name) : Table
Parameters
- $name : string
Tags
Return values
Table —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
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
Return values
array<string|int, Index> —listTableNames()
Returns a list of all tables in the current database.
public
listTableNames() : array<string|int, string>
Tags
Return values
array<string|int, string> —listTables()
Lists the tables for this connection.
public
listTables() : array<string|int, Table>
Tags
Return values
array<string|int, Table> —listViews()
Lists the views this connection has.
public
listViews() : array<string|int, View>
Tags
Return values
array<string|int, View> —migrateSchema()
Migrates an existing schema to a new schema.
public
migrateSchema(Schema $toSchema) : void
Parameters
- $toSchema : Schema
Tags
Return values
void —removeDoctrineTypeFromComment()
public
removeDoctrineTypeFromComment(string|null $comment, string|null $type) : string|null
Parameters
- $comment : string|null
- $type : string|null
Return values
string|null —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
Return values
void —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
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
Return values
mixed —_execSql()
protected
_execSql(array<string|int, string>|string $sql) : void
Parameters
- $sql : array<string|int, string>|string
Tags
Return values
void —_getPortableDatabaseDefinition()
protected
_getPortableDatabaseDefinition(mixed $database) : mixed
Parameters
- $database : mixed
Return values
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> —_getPortableSequenceDefinition()
protected
_getPortableSequenceDefinition(array<string|int, mixed> $sequence) : Sequence
Parameters
- $sequence : array<string|int, mixed>
Tags
Return values
Sequence —_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
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
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
Return values
array<string|int, Column> —_getPortableTableDefinition()
protected
_getPortableTableDefinition(mixed $table) : string
Parameters
- $table : mixed
Return values
string —_getPortableTableForeignKeyDefinition()
protected
_getPortableTableForeignKeyDefinition(mixed $tableForeignKey) : ForeignKeyConstraint
Parameters
- $tableForeignKey : mixed
Return values
ForeignKeyConstraint —_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
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> —_getPortableUserDefinition()
protected
_getPortableUserDefinition(array<string|int, string> $user) : array<string|int, string>
Parameters
- $user : array<string|int, string>
Return values
array<string|int, string> —_getPortableUsersList()
protected
_getPortableUsersList(array<string|int, array<string|int, mixed>> $users) : array<string|int, array<string|int, string>>
Parameters
- $users : array<string|int, array<string|int, mixed>>
Return values
array<string|int, 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> —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
Return values
mixed —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.