Spec-Zone.ru › CakePHP 4.2

Класс 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

Резюме свойств

  • $_columnExtras protected static
    array

    Дополнительные свойства, специфичные для типа.

  • $_columnKeys protected static
    array

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

  • $_columns protected
    array

    Столбцы в таблице.

  • $_constraints protected
    array

    Ограничения в таблице.

  • $_indexKeys protected static
    array

    Допустимые ключи, которые могут быть использованы в определении индекса.

  • $_indexes protected
    array

    Индексы в таблице.

  • $_options protected
    array

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

  • $_table protected
    string

    Имя таблицы

  • $_temporary protected
    bool

    Является ли таблица временной

  • $_typeMap protected
    array

    Карта со столбцами к типам

  • $_validConstraintTypes protected static
    array

    Имена допустимых типов ограничений.

  • $_validForeignKeyActions protected static
    array

    Имена допустимых действий с внешними ключами.

  • $_validIndexTypes protected static
    array

    Имена допустимых типов индексов.

  • $columnLengths public static
    array

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

Краткое описание методов

  • __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

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

  • 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 $columns = [])

Конструктор.

Параметры

string $table

Имя таблицы.

array $columns optional

Список столбцов для схемы.

__debugInfo() public

__debugInfo(): array

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

Возвращает

array

_checkForeignKey() protected

_checkForeignKey(array $attrs): array

Вспомогательный метод для проверки/валидации внешних ключей.

Параметры

array $attrs

Атрибуты для установки.

Возвращает

array

Вызывает исключение

Cake\Database\Exception\DatabaseException
Когда определение внешнего ключа недействительно.

addColumn() public

addColumn(string $name, string|array $attrs): $this

Добавить столбец в таблицу.

Атрибуты

Столбцы могут иметь несколько атрибутов:

  • type Тип столбца. Это должен быть один из абстрактных типов CakePHP.
  • length Длина столбца.
  • precision Количество десятичных знаков для хранения типов float и decimal.
  • default Значение по умолчанию столбца.
  • null Может ли столбец содержать значения NULL.
  • fixed Является ли столбец столбцом фиксированной длины. Это присутствует/действительно только для строковых столбцов.
  • unsigned Является ли столбец беззнаковым. Это присутствует/действительно только для столбцов типа integer, decimal, float.

В дополнение к вышеперечисленным ключам, следующие ключи реализованы в некоторых, но не во всех диалектах баз данных:

  • comment Комментарий к столбцу.

Параметры

string $name
string|array $attrs

Возвращает

$this

addConstraint() public

addConstraint(string $name, array|string $attrs): $this

Добавить ограничение.

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

Атрибуты

  • type Тип добавляемого ограничения.
  • columns Столбцы в индексе.
  • references Таблица, столбец, на который ссылается внешний ключ.
  • update Поведение при обновлении. Варианты: 'restrict', 'setNull', 'cascade', 'noAction'.
  • delete Поведение при удалении. Варианты: 'restrict', 'setNull', 'cascade', 'noAction'.

Значение по умолчанию для 'update' & 'delete' - 'cascade'.

Параметры

string $name
array|string $attrs

Возвращает

$this

addConstraintSql() public

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

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

Параметры

Cake\Database\Connection $connection

Возвращает

array

addIndex() public

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

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

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

Атрибуты

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

Параметры

string $name
array|string $attrs

Возвращает

$this

baseColumnType() public

baseColumnType(string $column): string|null

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

Параметры

string $column

Возвращает

string|null

columns() public

columns(): string[]

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

Возвращает

string[]

constraints() public

constraints(): string[]

Получить имена всех ограничений в таблице.

Возвращает

string[]

createSql() public

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

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

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

Параметры

Cake\Database\Connection $connection

Возвращает

array

defaultValues() public

defaultValues(): array

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

Возвращает

array

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|null

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

Параметры

string $name

Возвращает

array|null

getColumnType() public

getColumnType(string $name): string|null

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

Параметры

string $name

Возвращает

string|null

getConstraint() public

getConstraint(string $name): array|null

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

Параметры

string $name

Возвращает

array|null

getIndex() public

getIndex(string $name): array|null

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

Параметры

string $name

Возвращает

array|null

getOptions() public

getOptions(): array

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

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

Возвращает

array

getPrimaryKey() public

getPrimaryKey(): array

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

Возвращает

array

hasAutoincrement() public

hasAutoincrement(): bool

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

Возвращает

bool

hasColumn() public

hasColumn(string $name): bool

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

Параметры

string $name

Возвращает

bool

indexes() public

indexes(): string[]

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

Возвращает

string[]

isNullable() public

isNullable(string $name): bool

Проверить, является ли поле nullable

Отсутствующие столбцы являются nullable.

Параметры

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 $options): $this

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

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

Параметры

array $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

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

Возвращает

array

Подробное описание свойств

$_columnExtras protected static

Дополнительные свойства, специфичные для типа.

Тип

array

$_columnKeys protected static

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

Тип

array

$_columns protected

Столбцы в таблице.

Тип

array

$_constraints protected

Ограничения в таблице.

Тип

array

$_indexKeys protected static

Допустимые ключи, которые могут быть использованы в определении индекса.

Тип

array

$_indexes protected

Индексы в таблице.

Тип

array

$_options protected

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

Тип

array

$_table protected

Имя таблицы

Тип

string

$_temporary protected

Является ли таблица временной

Тип

bool

$_typeMap protected

Карта со столбцами и типами

Тип

array

$_validConstraintTypes protected static

Имена допустимых типов ограничений.

Тип

array

$_validForeignKeyActions protected static

Имена допустимых действий для внешних ключей.

Тип

array

$_validIndexTypes protected static

Имена допустимых типов индексов.

Тип

array

$columnLengths public static

Допустимая длина столбца, которая может быть использована со столбцами типа text

Тип

array

© 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.2/class-Cake.Database.Schema.TableSchema.html

Spec-Zone.ru

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