Класс TableSchema
Представляет отдельную таблицу в схеме базы данных.
Может быть заполнен с помощью API рефлексии или путем поэтапного построения экземпляра с помощью методов.
После создания экземпляры TableSchema можно добавлять в объекты Schema\Collection. Их также можно преобразовать в SQL с помощью методов createSql(), dropSql() и truncateSql().
- Cake\Database\Schema\TableSchema реализует Cake\Database\Schema\TableSchemaInterface, Cake\Database\Schema\SqlGeneratorInterface
Краткое описание констант
-
string'cascade' -
string'noAction' -
string'restrict' -
string'setDefault' -
string'setNull' -
string'foreign' -
string'primary' -
string'unique' -
string'fulltext' -
string'index' -
integer4294967295 -
integer16777215 -
integer255
Унаследованные константы
-
TYPE_BIGINTEGER,TYPE_BINARY,TYPE_BOOLEAN,TYPE_DATE,TYPE_DATETIME,TYPE_DECIMAL,TYPE_FLOAT,TYPE_INTEGER,TYPE_JSON,TYPE_SMALLINTEGER,TYPE_STRING,TYPE_TEXT,TYPE_TIME,TYPE_TIMESTAMP,TYPE_TINYINTEGER,TYPE_UUID
Краткое описание свойств
- Дополнительные свойства, специфичные для типа.
array -
arrayДопустимые ключи, которые могут использоваться в определении столбца.
-
$_columnsprotectedСтолбцы в таблице.array -
$_constraintsprotectedОграничения в таблице.array -
arrayДопустимые ключи, которые могут использоваться в определении индекса.
-
$_indexesprotectedИндексы в таблице.array -
$_optionsprotectedПараметры для таблицы.array -
$_tableprotectedИмя таблицыstring -
$_temporaryprotectedЯвляется ли таблица временнойboolean -
$_typeMapprotectedСловарь со столбцами и типамиarray - Имена допустимых типов ограничений.
array - Имена допустимых действий внешнего ключа.
array - Имена допустимых типов индексов.
array - Допустимая длина столбца, которую можно использовать со столбцами типа text.
array
Краткое описание методов
- __construct() publicКонструктор.
- _checkForeignKey() protectedВспомогательный метод для проверки/валидации внешних ключей.
- addColumn() publicДобавить столбец в таблицу.
- addConstraint() publicДобавить ограничение.
- addConstraintSql() publicГенерировать SQL-запросы для добавления ограничений в таблицу
- addIndex() publicДобавить индекс.
- baseColumnType() public
Возвращает имя базового типа для указанного столбца. Это представляет тип базы данных, на котором основан более сложный класс.
- column() publicПолучить данные столбца в таблице.
- columnType() public
Устанавливает тип столбца или возвращает его текущий тип, если он не передан.
- columns() publicПолучить имена столбцов в таблице.
- constraint() publicЧтение информации об ограничении по имени.
- constraints() publicПолучить имена всех ограничений в таблице.
- createSql() publicГенерировать SQL для создания таблицы.
- defaultValues() publicПолучить хеш столбцов и их значений по умолчанию.
- dropConstraint() publicУдалить ограничение.
- dropConstraintSql() publicГенерировать SQL-запросы для удаления ограничений из таблицы
- dropSql() publicГенерировать SQL для удаления таблицы.
- getColumn() publicПолучить данные столбца в таблице.
- getColumnType() publicВозвращает тип столбца или null, если столбец не существует.
- getConstraint() publicЧтение информации об ограничении по имени.
- getIndex() publicЧтение информации об индексе по имени.
- getOptions() publicПолучение параметров таблицы.
- hasAutoincrement() publicПроверить, определен ли в таблице столбец с автоинкрементом.
- hasColumn() publicВозвращает true, если столбец существует в схеме.
- index() publicЧтение информации об индексе по имени.
- indexes() publicПолучить имена всех индексов в таблице.
- isNullable() publicПроверить, может ли поле принимать значение NULL
- isTemporary() publicПолучить, является ли таблица временной в базе данных.
- name() publicПолучить имя таблицы.
- options() publicПолучить/установить параметры таблицы.
- primaryKey() publicПолучить столбец(ы), используемый(ые) для первичного ключа.
- removeColumn() publicУдалить столбец из схемы таблицы.
- setColumnType() publicУстанавливает тип столбца.
- setOptions() publicУстанавливает параметры таблицы.
- setTemporary() publicУстанавливает, является ли таблица временной в базе данных.
- temporary() publicПолучение/установка того, является ли таблица временной в базе данных
- truncateSql() publicГенерировать SQL-запросы для усечения таблицы
- typeMap() public
Возвращает массив, где ключи — имена столбцов в схеме, а значения — типы базы данных, которые у них есть.
Подробное описание методов
__construct()source public
__construct( string $table , array $columns [] )
Конструктор.
Параметры
- string
$table - Имя таблицы.
- array
$columnsoptional [] - Список столбцов для схемы.
_checkForeignKey()source protected
_checkForeignKey( array $attrs )
Вспомогательный метод для проверки/валидации внешних ключей.
Параметры
- array
$attrs - Атрибуты для установки.
Возвращает
массивИсключения
Cake\Database\ExceptionКогда определение внешнего ключа недействительно.
addColumn()source public
addColumn( string $name , array $attrs )
Добавить столбец в таблицу.
Параметры
- string
$name - Имя столбца
- array
$attrs - Атрибуты для столбца.
Возвращает
$this
Реализация
Cake\Datasource\SchemaInterface::addColumn() addConstraint()source public
addConstraint( string $name , array $attrs )
Добавить ограничение.
Параметры
- string
$name - Имя ограничения.
- array
$attrs - Атрибуты для ограничения.
Возвращает
$this
Исключения
Cake\Database\ExceptionРеализация
Cake\Database\Schema\TableSchemaInterface::addConstraint() addConstraintSql()source public
addConstraintSql( Cake\Database\Connection $connection )
Генерировать SQL-запросы для добавления ограничений в таблицу
Параметры
-
Cake\Database\Connection$connection - Подключение для генерации SQL.
Возвращает
массивSQL для добавления ограничений.
Реализация
Cake\Database\Schema\SqlGeneratorInterface::addConstraintSql() addIndex()source public
addIndex( string $name , array $attrs )
Добавить индекс.
Параметры
- string
$name - Имя индекса.
- array
$attrs - Атрибуты для индекса.
Возвращает
$this
Исключения
Cake\Database\ExceptionРеализация
Cake\Database\Schema\TableSchemaInterface::addIndex() baseColumnType()source public
baseColumnType( string $column )
Возвращает имя базового типа для указанного столбца. Это представляет тип базы данных, на котором основан более сложный класс.
Параметры
- string
$column - Имя столбца, для которого нужно получить базовый тип.
Возвращает
string|nullИмя базового типа
Реализация
Cake\Datasource\SchemaInterface::baseColumnType() column()source public
column( string $name )
Получить данные столбца в таблице.
Устарело
3.5.0 Используйте getColumn() вместо этого.Параметры
- string
$name - Имя столбца.
Возвращает
array|nullДанные столбца или null.
columnType()source public
columnType( string $name , string|null $type null )
Устанавливает тип столбца или возвращает его текущий тип, если он не передан.
Устарело
3.5.0 Используйте setColumnType()/getColumnType() вместо этого.Параметры
- string
$name - Столбец, для которого нужно получить тип.
- string|null
$typeoptional null - Тип, на который нужно установить столбец.
Возвращает
string|nullТип столбца или null.
columns()source public
columns( )
Получить имена столбцов в таблице.
Возвращает
arrayРеализация
Cake\Datasource\SchemaInterface::columns() constraint()source public
constraint( string $name )
Получить информацию о ограничении по имени.
Устарело
3.5.0 Используйте getConstraint() вместо этого.Параметры
- string
$name - Имя ограничения.
Возвращает
array|nullМассив данных о ограничении или null
constraints()source public
constraints( )
Получить имена всех ограничений в таблице.
Возвращает
arrayРеализация
Cake\Database\Schema\TableSchemaInterface::constraints() createSql()source public
createSql( Cake\Database\Connection $connection )
Генерирует SQL для создания таблицы.
Параметры
-
Cake\Database\Connection$connection - Подключение для генерации SQL.
Возвращает
arrayСписок SQL-запросов для создания таблицы и необходимых индексов.
Реализация
Cake\Database\Schema\SqlGeneratorInterface::createSql() defaultValues()source public
defaultValues( )
Получить хеш столбцов и их значения по умолчанию.
Возвращает
arrayРеализация
Cake\Datasource\SchemaInterface::defaultValues() dropConstraint()source public
dropConstraint( string $name )
Удалить ограничение.
Параметры
- string
$name - Имя ограничения для удаления
Возвращает
$this
Реализация
Cake\Database\Schema\TableSchemaInterface::dropConstraint() dropConstraintSql()source public
dropConstraintSql( Cake\Database\Connection $connection )
Сгенерировать SQL-запросы для удаления ограничений таблицы
Параметры
-
Cake\Database\Connection$connection - Подключение для генерации SQL.
Возвращает
arraySQL для удаления таблицы.
Реализация
Cake\Database\Schema\SqlGeneratorInterface::dropConstraintSql() dropSql()source public
dropSql( Cake\Database\Connection $connection )
Сгенерировать SQL для удаления таблицы.
Параметры
-
Cake\Database\Connection$connection - Подключение для генерации SQL.
Возвращает
arraySQL для удаления таблицы.
Реализация
Cake\Database\Schema\SqlGeneratorInterface::dropSql() getColumn()source public
getColumn( string $name )
Получить данные столбца в таблице.
Параметры
- string
$name - Имя столбца.
Возвращает
array|nullДанные столбца или null.
Реализация
Cake\Datasource\SchemaInterface::getColumn() getColumnType()source public
getColumnType( string $name )
Возвращает тип столбца или null, если столбец не существует.
Параметры
- string
$name - Столбец, для которого нужно получить тип.
Возвращает
string|nullРеализация
Cake\Datasource\SchemaInterface::getColumnType() getConstraint()source public
getConstraint( string $name )
Получить информацию об ограничении по имени.
Параметры
- string
$name - Имя ограничения.
Возвращает
array|nullМассив данных о ограничении или null
Реализация
Cake\Database\Schema\TableSchemaInterface::getConstraint() getIndex()source public
getIndex( string $name )
Получить информацию об индексе по имени.
Параметры
- string
$name - Имя индекса.
Возвращает
array|nullМассив данных об индексе или null
Реализация
Cake\Database\Schema\TableSchemaInterface::getIndex() getOptions()source public
getOptions( )
Получить параметры таблицы.
Возвращает
arrayМассив параметров.
Реализация
Cake\Datasource\SchemaInterface::getOptions() hasAutoincrement()source public
hasAutoincrement( )
Проверить, определён ли в таблице столбец с автоинкрементом.
Возвращает
booleanРеализация
Cake\Database\Schema\TableSchemaInterface::hasAutoincrement() hasColumn()source public
hasColumn( string $name )
Возвращает true, если столбец существует в схеме.
Параметры
- string
$name - Имя столбца.
Возвращает
booleanРеализация
Cake\Datasource\SchemaInterface::hasColumn() index()source public
index( string $name )
Получить информацию об индексе по имени.
Устарело
3.5.0 Используйте getIndex() вместо этого.Параметры
- string
$name - Имя индекса.
Возвращает
array|nullМассив данных об индексе или null
indexes()source public
indexes( )
Получить имена всех индексов в таблице.
Возвращает
arrayРеализация
Cake\Database\Schema\TableSchemaInterface::indexes() isNullable()source public
isNullable( string $name )
Проверка, является ли поле nullable
Параметры
- string
$name - Имя столбца, для которого нужно получить тип.
Возвращает
booleanЯвляется ли поле nullable.
Реализация
Cake\Datasource\SchemaInterface::isNullable() isTemporary()source public
isTemporary( )
Получение информации о том, является ли таблица временной в базе данных.
Возвращает
booleanТекущее значение временного статуса.
Реализация
Cake\Database\Schema\TableSchemaInterface::isTemporary() name()source public
name( )
Получение имени таблицы.
Возвращает
stringРеализация
Cake\Datasource\SchemaInterface::name() options()source public
options( array|null $options null )
Получение/установка параметров таблицы.
Параметры таблицы позволяют задавать параметры таблицы, специфичные для платформы. Например, тип движка в MySQL.
Устарело
3.4.0 Используйте setOptions()/getOptions() вместо этого.Параметры
- array|null
$optionsoptional null - Параметры для установки, или null для чтения параметров.
Возвращает
$this|array Экземпляр TableSchema или массив параметров при чтении.
primaryKey()source public
primaryKey( )
Получение имени(имён) столбца(ов) первичного ключа.
Возвращает
arrayИмя(на) столбца(ов) первичного ключа. Пустой список будет возвращён, если таблица не имеет первичного ключа.
Реализация
Cake\Database\Schema\TableSchemaInterface::primaryKey() removeColumn()source public
removeColumn( string $name )
Удаление столбца из схемы таблицы.
Параметры
- string
$name - Имя столбца
Возвращает
$this
Реализация
Cake\Datasource\SchemaInterface::removeColumn() setColumnType()source public
setColumnType( string $name , string $type )
Установка типа столбца.
Параметры
- string
$name - Столбец, для которого нужно установить тип.
- string
$type - Тип, на который нужно установить столбец.
Возвращает
$this
Реализация
Cake\Datasource\SchemaInterface::setColumnType() setOptions()source public
setOptions( array $options )
Установка параметров таблицы.
Параметры
- array
$options - Параметры для установки. Для считывания параметров укажите null.
Возвращает
$this
Реализация
Cake\Datasource\SchemaInterface::setOptions() setTemporary()source public
setTemporary( boolean $temporary )
Устанавливает, является ли таблица временной в базе данных.
Параметры
- boolean
$temporary - Является ли таблица временной.
Возвращает
$this
Реализация
Cake\Database\Schema\TableSchemaInterface::setTemporary() temporary()source public
temporary( boolean|null $temporary null )
Получение/Установка статуса временной таблицы в базе данных.
Устарело
3.4.0 Используйте setTemporary()/isTemporary() вместо этого.Параметры
- boolean|null
$temporaryoptional null - Является ли таблица временной
Возвращает
$this|bool Экземпляр TableSchema или текущее значение временного статуса.
truncateSql()source public
truncateSql( Cake\Database\Connection $connection )
Генерация SQL-запросов для удаления данных из таблицы.
Параметры
-
Cake\Database\Connection$connection - Соединение для генерации SQL.
Возвращает
arraySQL для удаления данных из таблицы.
Реализация
Cake\Database\Schema\SqlGeneratorInterface::truncateSql() typeMap()source public
typeMap( )
Возвращает массив, где ключи — имена столбцов в схеме, а значения — типы данных в базе данных.
Возвращает
arrayРеализация
Cake\Datasource\SchemaInterface::typeMap() Подробное описание свойств
$_columnExtrassource
protected static array
Дополнительные свойства, специфичные для типа.
[
'string' => [
'fixed' => null,
'collate' => null,
],
'text' => [
'collate' => null,
],
'tinyinteger' => [
'unsigned' => null,
],
'smallinteger' => [
'unsigned' => null,
],
'integer' => [
'unsigned' => null,
'autoIncrement' => null,
],
'biginteger' => [
'unsigned' => null,
'autoIncrement' => null,
],
'decimal' => [
'unsigned' => null,
],
'float' => [
'unsigned' => null,
],
] $_columnKeyssource
protected static array
Допустимые ключи, которые могут быть использованы в определении столбца.
[
'type' => null,
'baseType' => null,
'length' => null,
'precision' => null,
'null' => null,
'default' => null,
'comment' => null,
] $_indexKeyssource
protected static array
Допустимые ключи, которые могут быть использованы в определении индекса.
[
'type' => null,
'columns' => [],
'length' => [],
'references' => [],
'update' => 'restrict',
'delete' => 'restrict',
] $_validConstraintTypessource
protected static array
Названия допустимых типов ограничений.
[
self::CONSTRAINT_PRIMARY,
self::CONSTRAINT_UNIQUE,
self::CONSTRAINT_FOREIGN,
] $_validForeignKeyActionssource
protected static array
Названия допустимых действий для внешних ключей.
[
self::ACTION_CASCADE,
self::ACTION_SET_NULL,
self::ACTION_SET_DEFAULT,
self::ACTION_NO_ACTION,
self::ACTION_RESTRICT,
] $_validIndexTypessource
protected static array
Названия допустимых типов индексов.
[
self::INDEX_INDEX,
self::INDEX_FULLTEXT,
] $columnLengthssource
public static array
Допустимые длины столбцов, которые можно использовать со столбцами типа text
[
'tiny' => self::LENGTH_TINY,
'medium' => self::LENGTH_MEDIUM,
'long' => self::LENGTH_LONG
]
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.4/class-Cake.Database.Schema.TableSchema.html