Класс TableSchema
Представляет собой отдельную таблицу в схеме базы данных.
Может быть заполнена с помощью API отражения или путем пошагового построения экземпляра с помощью методов.
После создания экземпляры TableSchema могут быть добавлены в объекты Schema\Collection. Они также могут быть преобразованы в SQL с помощью методов createSql(), dropSql() и truncateSql().
Константы
-
stringACTION_CASCADE'cascade'
Действие каскада внешнего ключа
-
stringACTION_NO_ACTION'noAction'
Без действия для внешнего ключа
-
stringACTION_RESTRICT'restrict'
Действие ограничения внешнего ключа
-
stringACTION_SET_DEFAULT'setDefault'
Установить значение по умолчанию для внешнего ключа
-
stringACTION_SET_NULL'setNull'
Установить значение NULL для внешнего ключа
-
stringCONSTRAINT_FOREIGN'foreign'
Тип ограничения внешнего ключа
-
stringCONSTRAINT_PRIMARY'primary'
Тип первичного ограничения
-
stringCONSTRAINT_UNIQUE'unique'
Тип уникального ограничения
-
stringINDEX_FULLTEXT'fulltext'
Тип полнотекстового индекса
-
stringINDEX_INDEX'index'
Индекс - тип индекса
-
intLENGTH_LONG4294967295
Длина столбца при использовании типа столбца
long -
intLENGTH_MEDIUM16777215
Длина столбца при использовании типа столбца
medium -
intLENGTH_TINY255
Длина столбца при использовании типа столбца
tiny -
stringTYPE_BIGINTEGER'biginteger'
Тип столбца Большое целое число
-
stringTYPE_BINARY'binary'
Бинарный тип столбца
-
stringTYPE_BINARY_UUID'binaryuuid'
Бинарный UUID тип столбца
-
stringTYPE_BOOLEAN'boolean'
Булевый тип столбца
-
stringTYPE_CHAR'char'
Символьный тип столбца
-
stringTYPE_DATE'date'
Тип столбца Дата
-
stringTYPE_DATETIME'datetime'
Тип столбца Дата и время
-
stringTYPE_DATETIME_FRACTIONAL'datetimefractional'
Тип столбца Дата и время с дробными секундами
-
stringTYPE_DECIMAL'decimal'
Десятичный тип столбца
-
stringTYPE_FLOAT'float'
Тип столбца С плавающей точкой
-
stringTYPE_INTEGER'integer'
Целочисленный тип столбца
-
stringTYPE_JSON'json'
JSON тип столбца
-
stringTYPE_SMALLINTEGER'smallinteger'
Тип столбца Малое целое число
-
stringTYPE_STRING'string'
Строковый тип столбца
-
stringTYPE_TEXT'text'
Текстовый тип столбца
-
stringTYPE_TIME'time'
Тип столбца Время
-
stringTYPE_TIMESTAMP'timestamp'
Тип столбца Метка времени
-
stringTYPE_TIMESTAMP_FRACTIONAL'timestampfractional'
Тип столбца Метка времени с дробными секундами
-
stringTYPE_TIMESTAMP_TIMEZONE'timestamptimezone'
Тип столбца Метка времени с часовым поясом
-
stringTYPE_TINYINTEGER'tinyinteger'
Тип столбца Очень маленькое целое число
-
stringTYPE_UUID'uuid'
UUID тип столбца
Сводка свойств
- $_columnExtras protected static
array<string, array<string, mixed>>Дополнительные свойства, специфичные для типа.
- $_columnKeys protected static
array<string, mixed>Допустимые ключи, которые могут быть использованы в определении столбца.
- $_columns protected
array<string, array>Столбцы в таблице.
- $_constraints protected
array<string, array<string, mixed>>Ограничения в таблице.
- $_indexKeys protected static
array<string, mixed>Допустимые ключи, которые могут быть использованы в определении индекса.
- $_indexes protected
array<string, array>Индексы в таблице.
- $_options protected
array<string, mixed>Параметры для таблицы.
- $_table protected
stringИмя таблицы
- $_temporary protected
boolЯвляется ли таблица временной
- $_typeMap protected
array<string, string>Карта со столбцами и типами
- $_validConstraintTypes protected static
array<string>Названия допустимых типов ограничений.
- $_validForeignKeyActions protected static
array<string>Названия допустимых действий с внешними ключами.
- $_validIndexTypes protected static
array<string>Названия допустимых типов индексов.
- $columnLengths public static
array<string, int>Допустимая длина столбцов, которая может использоваться со столбцами типа текст
Краткое описание методов
-
__construct() public
Конструктор.
-
__debugInfo() public
Возвращает массив со схемой таблицы.
-
_checkForeignKey() protected
Вспомогательный метод для проверки/валидации внешних ключей.
-
addColumn() public
Добавляет столбец в таблицу.
-
addConstraint() public
Добавляет ограничение.
-
addConstraintSql() public
Генерирует SQL-запросы для добавления ограничений к таблице
-
addIndex() public
Добавляет индекс.
-
baseColumnType() public
Возвращает базовое имя типа для указанного столбца. Представляет тип базы данных, на котором основан более сложный класс.
-
columns() 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
Получает параметры таблицы.
-
getPrimaryKey() public
Получает столбец(ы), используемый для первичного ключа.
-
hasAutoincrement() public
Проверяет, определен ли столбец autoIncrement в таблице.
-
hasColumn() public
Возвращает true, если столбец существует в схеме.
-
indexes() public
Получает имена всех индексов в таблице.
-
isNullable() public
Проверяет, является ли поле допустимым значением NULL
-
isTemporary() public
Получает, является ли таблица временной в базе данных.
-
name() public
Получает имя таблицы.
-
primaryKey() public deprecated
Получает столбец(ы), используемый для первичного ключа.
-
removeColumn() public
Удаляет столбец из схемы таблицы.
-
setColumnType() public
Устанавливает тип столбца.
-
setOptions() public
Устанавливает параметры таблицы.
-
setTemporary() public
Устанавливает, является ли таблица временной в базе данных.
-
truncateSql() public
Генерирует SQL-запросы для обнуления таблицы
-
typeMap() public
Возвращает массив, где ключи — имена столбцов в схеме, а значения — типы базы данных.
Подробное описание методов
__construct() public
__construct(string $table, array<string, array|string> $columns = [])
Конструктор.
Параметры
-
string$table Имя таблицы.
-
array<string, array|string>$columns optional Список столбцов для схемы.
__debugInfo() public
__debugInfo(): array<string, mixed>
Возвращает массив схемы таблицы.
Возвращает
array<string, mixed>_checkForeignKey() protected
_checkForeignKey(array<string, mixed> $attrs): array<string, mixed>
Вспомогательный метод для проверки/валидации внешних ключей.
Параметры
-
array<string, mixed>$attrs Атрибуты для установки.
Возвращает
array<string, mixed>Вызывает исключение
Cake\Database\Exception\DatabaseExceptionКогда определение внешнего ключа недействительно.
addColumn() public
addColumn(string $name, array<string, mixed>|string $attrs): $this
Добавить столбец в таблицу.
Атрибуты
Столбцы могут иметь несколько атрибутов:
-
typeТип столбца. Это должен быть один из абстрактных типов CakePHP. -
lengthДлина столбца. -
precisionКоличество десятичных знаков для хранения типов float и decimal. -
defaultЗначение по умолчанию для столбца. -
nullМожет ли столбец содержать NULL значения. -
fixedЯвляется ли столбец столбцом фиксированной длины. Это присутствует/действительно только для строковых столбцов. -
unsignedЯвляется ли столбец беззнаковым. Это присутствует/действительно только для столбцов типа integer, decimal, float.
В дополнение к указанным выше ключам, следующие ключи реализованы в некоторых, но не во всех диалектах баз данных:
-
commentКомментарий к столбцу.
Параметры
-
string$name -
array<string, mixed>|string$attrs
Возвращает
$thisaddConstraint() public
addConstraint(string $name, array<string, mixed>|string $attrs): $this
Добавить ограничение.
Используется для добавления ограничений к таблице. Например, первичные ключи, уникальные ключи и внешние ключи.
Атрибуты
-
typeТип добавляемого ограничения. -
columnsСтолбцы в индексе. -
referencesТаблица, столбец, на который ссылается внешний ключ. -
updateПоведение при обновлении. Варианты: 'restrict', 'setNull', 'cascade', 'noAction'. -
deleteПоведение при удалении. Варианты: 'restrict', 'setNull', 'cascade', 'noAction'.
Значение по умолчанию для 'update' & 'delete' - 'cascade'.
Параметры
-
string$name -
array<string, mixed>|string$attrs
Возвращает
$thisaddConstraintSql() public
addConstraintSql(Cake\Database\Connection $connection): array
Генерирует SQL-запросы для добавления ограничений к таблице
Параметры
-
Cake\Database\Connection$connection
Возвращает
arrayaddIndex() public
addIndex(string $name, array<string, mixed>|string $attrs): $this
Добавить индекс.
Используется для добавления индексов и индексов полного текста на платформах, которые их поддерживают.
Атрибуты
-
typeТип добавляемого индекса. -
columnsСтолбцы в индексе.
Параметры
-
string$name -
array<string, mixed>|string$attrs
Возвращает
$thisbaseColumnType() public
baseColumnType(string $column): string|null
Возвращает базовое имя типа для предоставленного столбца. Это представляет тип базы данных, на котором основан более сложный класс.
Параметры
-
string$column
Возвращает
string|nullcolumns() public
columns(): array<string>
Получить имена столбцов в таблице.
Возвращает
array<string>constraints() public
constraints(): array<string>
Получить имена всех ограничений в таблице.
Возвращает
array<string>createSql() public
createSql(Cake\Database\Connection $connection): array
Генерирует SQL-запрос для создания таблицы.
Использует подключение для доступа к диалекту схемы для генерации специфичного для платформы SQL.
Параметры
-
Cake\Database\Connection$connection
Возвращает
arraydefaultValues() public
defaultValues(): array<string, mixed>
Получить хеш столбцов и их значений по умолчанию.
Возвращает
array<string, mixed>dropConstraint() public
dropConstraint(string $name): $this
Удалить ограничение.
Параметры
-
string$name
Возвращает
$thisdropConstraintSql() public
dropConstraintSql(Cake\Database\Connection $connection): array
Генерирует SQL-запросы для удаления ограничений из таблицы
Параметры
-
Cake\Database\Connection$connection
Возвращает
arraydropSql() public
dropSql(Cake\Database\Connection $connection): array
Генерирует SQL-запрос для удаления таблицы.
Использует подключение для доступа к диалекту схемы для генерации специфичного для платформы SQL.
Параметры
-
Cake\Database\Connection$connection
Возвращает
arraygetColumn() public
getColumn(string $name): array<string, mixed>|null
Получить данные столбца в таблице.
Параметры
-
string$name
Возвращает
array<string, mixed>|nullgetColumnType() public
getColumnType(string $name): string|null
Возвращает тип столбца или null, если столбец не существует.
Параметры
-
string$name
Возвращает
string|nullgetConstraint() public
getConstraint(string $name): array<string, mixed>|null
Считывает информацию об ограничении по имени.
Параметры
-
string$name
Возвращает
array<string, mixed>|nullgetIndex() public
getIndex(string $name): array<string, mixed>|null
Считывает информацию об индексе по имени.
Параметры
-
string$name
Возвращает
array<string, mixed>|nullgetOptions() public
getOptions(): array<string, mixed>
Получает параметры для таблицы.
Параметры таблицы позволяют устанавливать специфичные для платформы параметры уровня таблицы. Например, тип движка в MySQL.
Возвращает
array<string, mixed>getPrimaryKey() public
getPrimaryKey(): array<string>
Получить столбец(ы), используемый(ые) для первичного ключа.
Возвращает
array<string>hasAutoincrement() public
hasAutoincrement(): bool
Проверить, определен ли в таблице столбец с autoIncrement.
Возвращает
boolhasColumn() public
hasColumn(string $name): bool
Возвращает true, если столбец существует в схеме.
Параметры
-
string$name
Возвращает
boolindexes() public
indexes(): array<string>
Получить имена всех индексов в таблице.
Возвращает
array<string>isNullable() public
isNullable(string $name): bool
Проверить, может ли поле содержать значение NULL.
Отсутствующие столбцы допускают значения NULL.
Параметры
-
string$name
Возвращает
boolisTemporary() public
isTemporary(): bool
Получить, является ли таблица временной в базе данных.
Возвращает
boolname() public
name(): string
Получить имя таблицы.
Возвращает
stringprimaryKey() public
primaryKey(): array
Получить столбец(ы) используемый для первичного ключа.
Возвращает
arrayremoveColumn() public
removeColumn(string $name): $this
Удалить столбец из схемы таблицы.
Если столбец не определен в таблице, ошибка не будет поднята.
Параметры
-
string$name
Возвращает
$thissetColumnType() public
setColumnType(string $name, string $type): $this
Устанавливает тип столбца.
Параметры
-
string$name -
string$type
Возвращает
$thissetOptions() public
setOptions(array<string, mixed> $options): $this
Устанавливает параметры таблицы.
Параметры таблицы позволяют устанавливать параметры таблицы, специфичные для платформы. Например, тип движка в MySQL.
Параметры
-
array<string, mixed>$options
Возвращает
$thissetTemporary() public
setTemporary(bool $temporary): $this
Устанавливает, является ли таблица временной в базе данных.
Параметры
-
bool$temporary
Возвращает
$thistruncateSql() public
truncateSql(Cake\Database\Connection $connection): array
Генерировать SQL-команды для усечения таблицы
Параметры
-
Cake\Database\Connection$connection
Возвращает
arraytypeMap() public
typeMap(): array<string, string>
Возвращает массив, где ключи - имена столбцов в схеме, а значения - типы данных базы данных, которые они имеют.
Возвращает
array<string, string>Подробности свойств
$_columnExtras protected static
Дополнительные свойства, специфичные для типа.
Тип
array<string, array<string, mixed>>$_columnKeys protected static
Допустимые ключи, которые могут быть использованы в определении столбца.
Тип
array<string, mixed>$_columns protected
Столбцы в таблице.
Тип
array<string, array>$_constraints protected
Ограничения в таблице.
Тип
array<string, array<string, mixed>>$_indexKeys protected static
Допустимые ключи, которые могут быть использованы в определении индекса.
Тип
array<string, mixed>$_indexes protected
Индексы в таблице.
Тип
array<string, array>$_options protected
Параметры таблицы.
Тип
array<string, mixed>$_table protected
Имя таблицы
Тип
string$_temporary protected
Является ли таблица временной
Тип
bool$_typeMap protected
Карта столбцов к типам
Тип
array<string, string>$_validConstraintTypes protected static
Названия допустимых типов ограничений.
Тип
array<string>$_validForeignKeyActions protected static
Названия допустимых действий для внешних ключей.
Тип
array<string>$_validIndexTypes protected static
Названия допустимых типов индексов.
Тип
array<string>$columnLengths public static
Допустимая длина столбца, которая может использоваться с текстовыми столбцами
Тип
array<string, int>
© 2005–present 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/4.4/class-Cake.Database.Schema.TableSchema.html