com\setasign\SetaFramework\Database\Manager
AbstractManager Class AbstractManager
File: /SetaFramework/src/Database/Manager/AbstractManager.php
Class hierarchy
Summary
Properties
Methods
__construct()
Parameters
- $database : \com\setasign\SetaFramework\Database\Database
getAlterDefinition()
abstract public AbstractManager::getAlterDefinition (
string $originalTableName,
array{columnOrder: string[], addColumns: Column\AbstractColumn[], modifyColumns: Column\AbstractColumn[], changeColumns: array<string, array{oldName: string, column: Column\AbstractColumn}>, dropColumns: string[], addKeys: array<string, array{type: string, columns: string[]}>, dropKeys: string[], changeTableName: string|false, changeEngine: string|false, changeTableCollation: string|false} $changes
): stringarray{columnOrder: string[], addColumns: Column\AbstractColumn[], modifyColumns: Column\AbstractColumn[], changeColumns: array<string, array{oldName: string, column: Column\AbstractColumn}>, dropColumns: string[], addKeys: array<string, array{type: string, columns: string[]}>, dropKeys: string[], changeTableName: string|false, changeEngine: string|false, changeTableCollation: string|false} $changes
Returns the sql command for alter the table.
$changes: all entries are arrays, following keys are used:
| Key | Description |
|---|---|
| addColumns & modifyColumns | value = AbstractColumn $column |
| changeColumns | key = string $oldColumnName; value = AbstractColumn $column |
| dropColumns | value = string $columnName |
| addKeys | key = string $indexName; value = array('type' => int $indexType; 'columns' => string[] $columns) |
| dropKeys | value = string $indexName |
Parameters
- $originalTableName : string
- $changes : array{columnOrder: string[], addColumns: Column\AbstractColumn[], modifyColumns: Column\AbstractColumn[], changeColumns: array<string, array{oldName: string, column: Column\AbstractColumn}>, dropColumns: string[], addKeys: array<string, array{type: string, columns: string[]}>, dropKeys: string[], changeTableName: string|false, changeEngine: string|false, changeTableCollation: string|false}
getColumnDefinition()
Returns the column definition for the column as string.
Should be used in getCreateDefinition and getAlterDefinition.
Parameters
- $column : Column\AbstractColumn
getCreateDefinition()
Returns the sql command for creating the table
Parameters
- $tableSchema : TableSchema
- $ifNotExist : bool
getTableSchema()
Returns the tableSchema for the table.
The table must already exist in the database.
Parameters
- $tableName : string
hasColumn()
Checks whether a column exists (with as little overhead as possible).
Note: the table must exist.
Parameters
- $tableName : string
- $column : string
renameTable()
Renames a table.
Mustn't be used if there exists a tableSchema for the table! (Only in TableSchema::rename)
Parameters
- $oldTableName : string
- $newTableName : string
