Spec-Zone.ru › CakePHP 4.3

Класс TableSchema

Представляет собой одиночную таблицу в схеме базы данных.

Может быть заполнена с помощью API отражения или путем пошагового построения экземпляра с использованием методов.

После создания экземпляры TableSchema могут быть добавлены в объекты Schema\Collection. Они также могут быть преобразованы в SQL с помощью методов createSql(), dropSql() и truncateSql().

Namespace: Cake\Database\Schema

Константы

  • string
    ACTION_CASCADE
    'cascade'

    Действие каскада внешнего ключа

  • string
    ACTION_NO_ACTION
    'noAction'

    Без действия для внешнего ключа

  • string
    ACTION_RESTRICT
    'restrict'

    Ограничение действия внешнего ключа

  • string
    ACTION_SET_DEFAULT
    'setDefault'

    Установить значение по умолчанию для внешнего ключа

  • string
    ACTION_SET_NULL
    'setNull'

    Установить значение NULL для внешнего ключа

  • string
    CONSTRAINT_FOREIGN
    'foreign'

    Тип ограничения внешнего ключа

  • string
    CONSTRAINT_PRIMARY
    'primary'

    Тип первичного ограничения

  • string
    CONSTRAINT_UNIQUE
    'unique'

    Тип уникального ограничения

  • string
    INDEX_FULLTEXT
    'fulltext'

    Тип полнотекстового индекса

  • string
    INDEX_INDEX
    'index'

    Индекс - тип индекса

  • int
    LENGTH_LONG
    4294967295

    Длина столбца при использовании типа столбца long

  • int
    LENGTH_MEDIUM
    16777215

    Длина столбца при использовании типа столбца medium

  • int
    LENGTH_TINY
    255

    Длина столбца при использовании типа столбца tiny

  • string
    TYPE_BIGINTEGER
    'biginteger'

    Тип столбца Большое целое число

  • string
    TYPE_BINARY
    'binary'

    Двоичный тип столбца

  • string
    TYPE_BINARY_UUID
    'binaryuuid'

    Двоичный UUID тип столбца

  • string
    TYPE_BOOLEAN
    'boolean'

    Логический тип столбца

  • string
    TYPE_CHAR
    'char'

    Символьный тип столбца

  • string
    TYPE_DATE
    'date'

    Тип столбца Дата

  • string
    TYPE_DATETIME
    'datetime'

    Тип столбца Дата и время

  • string
    TYPE_DATETIME_FRACTIONAL
    'datetimefractional'

    Тип столбца Дата и время с дробными секундами

  • string
    TYPE_DECIMAL
    'decimal'

    Десятичный тип столбца

  • string
    TYPE_FLOAT
    'float'

    Тип столбца С плавающей точкой

  • string
    TYPE_INTEGER
    'integer'

    Целочисленный тип столбца

  • string
    TYPE_JSON
    'json'

    JSON тип столбца

  • string
    TYPE_SMALLINTEGER
    'smallinteger'

    Тип столбца Малое целое число

  • string
    TYPE_STRING
    'string'

    Строковый тип столбца

  • string
    TYPE_TEXT
    'text'

    Текстовый тип столбца

  • string
    TYPE_TIME
    'time'

    Тип столбца Время

  • string
    TYPE_TIMESTAMP
    'timestamp'

    Тип столбца Метка времени

  • string
    TYPE_TIMESTAMP_FRACTIONAL
    'timestampfractional'

    Тип столбца Метка времени с дробными секундами

  • string
    TYPE_TIMESTAMP_TIMEZONE
    'timestamptimezone'

    Тип столбца Метка времени с часовым поясом

  • string
    TYPE_TINYINTEGER
    'tinyinteger'

    Тип столбца Очень маленькое целое число

  • string
    TYPE_UUID
    'uuid'

    UUID тип столбца

END_OF_DOCUMENT_MARKER

Сводка свойств

  • $_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

    Параметры для таблицы.

  • $_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

Возвращает

$this

addConstraint() 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

Возвращает

$this

addConstraintSql() public

addConstraintSql(Cake\Database\Connection $connection): array

Генерирует операторы SQL для добавления ограничений в таблицу

Параметры

Cake\Database\Connection $connection

Возвращает

array

addIndex() public

addIndex(string $name, array<string, mixed>|string $attrs): $this

Добавить индекс.

Используется для добавления индексов и индексов полного текста на платформах, которые их поддерживают.

Атрибуты

  • type Тип добавляемого индекса.
  • columns Столбцы в индексе.

Параметры

string $name
array<string, mixed>|string $attrs

Возвращает

$this

baseColumnType() public

baseColumnType(string $column): string|null

Возвращает базовое имя типа для предоставленного столбца. Это представляет тип базы данных, на котором основан более сложный класс.

Параметры

string $column

Возвращает

string|null

columns() 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

Возвращает

array

defaultValues() public

defaultValues(): array<string, mixed>

Получить хеш столбцов и их значений по умолчанию.

Возвращает

array<string, mixed>

dropConstraint() public

dropConstraint(string $name): $this

Удалить ограничение.

Параметры

string $name

Возвращает

$this

dropConstraintSql() public

dropConstraintSql(Cake\Database\Connection $connection): array

Генерирует операторы SQL для удаления ограничений из таблицы

Параметры

Cake\Database\Connection $connection

Возвращает

array

dropSql() public

dropSql(Cake\Database\Connection $connection): array

Генерирует SQL для удаления таблицы.

Использует соединение для доступа к диалекту схемы для генерации специфичного для платформы SQL.

Параметры

Cake\Database\Connection $connection

Возвращает

array

getColumn() public

getColumn(string $name): array<string, mixed>|null

Получить данные столбца в таблице.

Параметры

string $name

Возвращает

array<string, mixed>|null

getColumnType() public

getColumnType(string $name): string|null

Возвращает тип столбца или null, если столбец не существует.

Параметры

string $name

Возвращает

string|null

getConstraint() public

getConstraint(string $name): array<string, mixed>|null

Прочитать информацию об ограничении по имени.

Параметры

string $name

Возвращает

array<string, mixed>|null

getIndex() public

getIndex(string $name): array<string, mixed>|null

Прочитать информацию об индексе по имени.

Параметры

string $name

Возвращает

array<string, mixed>|null

getOptions() public

getOptions(): array<string, mixed>

Получает параметры для таблицы.

Параметры таблицы позволяют устанавливать специфичные для платформы параметры уровня таблицы. Например, тип движка в MySQL.

Возвращает

array<string, mixed>

getPrimaryKey() public

getPrimaryKey(): array<string>

Получить столбец(ы), используемый(ые) для первичного ключа.

Возвращает

array<string>

hasAutoincrement() public

hasAutoincrement(): bool

Проверить, определен ли в таблице столбец с автоинкрементом.

Возвращает

bool

hasColumn() public

hasColumn(string $name): bool

Возвращает true, если столбец существует в схеме.

Параметры

string $name

Возвращает

bool

indexes() public

indexes(): array<string>

Получить имена всех индексов в таблице.

Возвращает

array<string>

isNullable() public

isNullable(string $name): bool

Проверить, может ли поле содержать значение NULL.

Отсутствующие столбцы допускают значения NULL.

Параметры

string $name

Возвращает

bool

isTemporary() public

isTemporary(): bool

Получить, является ли таблица временной в базе данных.

Возвращает

bool

name() public

name(): string

Получить имя таблицы.

Возвращает

string

primaryKey() public

primaryKey(): array

Получить столбец(ы) используемый для первичного ключа.

Возвращает

array

removeColumn() public

removeColumn(string $name): $this

Удалить столбец из схемы таблицы.

Если столбец не определен в таблице, ошибка не будет поднята.

Параметры

string $name

Возвращает

$this

setColumnType() public

setColumnType(string $name, string $type): $this

Устанавливает тип столбца.

Параметры

string $name
string $type

Возвращает

$this

setOptions() public

setOptions(array<string, mixed> $options): $this

Устанавливает параметры таблицы.

Параметры таблицы позволяют устанавливать параметры таблицы, специфичные для платформы. Например, тип движка в MySQL.

Параметры

array<string, mixed> $options

Возвращает

$this

setTemporary() public

setTemporary(bool $temporary): $this

Устанавливает, является ли таблица временной в базе данных.

Параметры

bool $temporary

Возвращает

$this

truncateSql() public

truncateSql(Cake\Database\Connection $connection): array

Генерировать SQL-команды для усечения таблицы

Параметры

Cake\Database\Connection $connection

Возвращает

array

typeMap() 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

$_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.3/class-Cake.Database.Schema.TableSchema.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API