Класс SchemaDialect
Базовый класс для реализации схем.
Этот класс содержит методы, общие для различных диалектов SQL.
Краткое описание свойств
- $_driver protected
Cake\Database\DriverInterfaceИспользуемый экземпляр драйвера.
Краткое описание методов
-
__construct() public
Конструктор
-
_applyTypeSpecificColumnConversion() protected
Попытка использования соответствующего типа базы данных для преобразования определения SQL-столбца в абстрактное определение типа.
-
_convertConstraintColumns() protected
Преобразование ссылок на ограничения внешнего ключа в допустимый строковый список.
-
_convertOnClause() protected
Преобразование строковых фрагментов ON в абстрактные.
-
_foreignOnClause() protected
Генерация фрагмента ON для внешнего ключа.
-
_getTypeSpecificColumnSql() protected
Попытка использования соответствующего типа базы данных для генерации SQL-фрагмента для отдельного столбца в таблице.
-
addConstraintSql() abstract public
Генерация SQL-запросов, необходимых для добавления ограничений внешних ключей в таблицу.
-
columnSql() abstract public
Генерация SQL-фрагмента для отдельного столбца в таблице.
-
constraintSql() abstract public
Генерация SQL-фрагментов для определения ограничений таблицы.
-
convertColumnDescription() abstract public
Преобразование результатов описания поля в абстрактные поля схемы.
-
convertForeignKeyDescription() abstract public
Преобразование описания внешнего ключа в ограничения объекта Table.
-
convertIndexDescription() abstract public
Преобразование результатов описания индекса в абстрактные индексы или ограничения схемы.
-
convertOptionsDescription() public
Преобразование данных параметров в параметры таблицы.
-
createTableSql() abstract public
Генерация SQL для создания таблицы.
-
describeColumnSql() abstract public
Генерация SQL для описания таблицы.
-
describeForeignKeySql() abstract public
Генерация SQL для описания внешних ключей в таблице.
-
describeIndexSql() abstract public
Генерация SQL для описания индексов в таблице.
-
describeOptionsSql() public
Генерация SQL для описания параметров таблицы.
-
dropConstraintSql() abstract public
Генерация SQL-запросов, необходимых для удаления ограничений внешних ключей из таблицы.
-
dropTableSql() public
Генерация SQL для удаления таблицы.
-
indexSql() abstract public
Генерация SQL-фрагмента для отдельного индекса в таблице.
-
listTablesSql() abstract public
Генерация SQL для вывода списка таблиц.
-
listTablesWithoutViewsSql() public @method
Генерация SQL для вывода списка таблиц, исключая все представления.
-
truncateTableSql() abstract public
Генерация SQL для обнуления таблицы.
Подробное описание методов
__construct() public
__construct(Cake\Database\DriverInterface $driver)
Конструктор
Этот конструктор подключит драйвер, так что методы, такие как columnSql() и другие, будут возвращать ошибку, если драйвер не подключён.
Параметры
-
Cake\Database\DriverInterface$driver Используемый драйвер.
_applyTypeSpecificColumnConversion() protected
_applyTypeSpecificColumnConversion(string $columnType, array $definition): array|null
Пытается использовать соответствующий тип базы данных для преобразования определения столбца SQL в абстрактное определение типа.
Параметры
-
string$columnType Тип столбца.
-
array$definition Определение столбца.
Возвращает
array|null_convertConstraintColumns() protected
_convertConstraintColumns(array<string>|string $references): string
Преобразует ссылки на ограничения внешнего ключа в корректный строковый список.
Параметры
-
array<string>|string$references Ссылающиеся столбцы утверждения ограничения внешнего ключа.
Возвращает
string_convertOnClause() protected
_convertOnClause(string $clause): string
Преобразует строковые условия ON в абстрактные.
Параметры
-
string$clause Условие ON для преобразования.
Возвращает
string_foreignOnClause() protected
_foreignOnClause(string $on): string
Генерирует условие ON для внешнего ключа.
Параметры
-
string$on Условие ON.
Возвращает
string_getTypeSpecificColumnSql() protected
_getTypeSpecificColumnSql(string $columnType, Cake\Database\Schema\TableSchemaInterface $schema, string $column): string|null
Пытается использовать соответствующий тип базы данных для генерации фрагмента SQL для одного столбца в таблице.
Параметры
-
string$columnType Тип столбца.
-
Cake\Database\Schema\TableSchemaInterface$schema Экземпляр схемы таблицы, в которой находится столбец.
-
string$column Имя столбца.
Возвращает
string|nulladdConstraintSql() abstract public
addConstraintSql(Cake\Database\Schema\TableSchema $schema): array
Генерирует запросы SQL, необходимые для добавления ограничений внешнего ключа в таблицу.
Параметры
-
Cake\Database\Schema\TableSchema$schema Экземпляр таблицы, в которой находятся ограничения внешнего ключа.
Возвращает
arraycolumnSql() abstract public
columnSql(Cake\Database\Schema\TableSchema $schema, string $name): string
Генерирует фрагмент SQL для одного столбца в таблице.
Параметры
-
Cake\Database\Schema\TableSchema$schema Экземпляр таблицы, в которой находится столбец.
-
string$name Имя столбца.
Возвращает
stringconstraintSql() abstract public
constraintSql(Cake\Database\Schema\TableSchema $schema, string $name): string
Генерирует фрагменты SQL для определения ограничений таблицы.
Параметры
-
Cake\Database\Schema\TableSchema$schema Экземпляр таблицы, в которой находится столбец.
-
string$name Имя столбца.
Возвращает
stringconvertColumnDescription() abstract public
convertColumnDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Преобразует результаты описания поля в абстрактные поля схемы.
Параметры
-
Cake\Database\Schema\TableSchema$schema Объект таблицы, к которому нужно добавить поля.
-
array$row Данные строки из
describeColumnSql.
Возвращает
voidconvertForeignKeyDescription() abstract public
convertForeignKeyDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Преобразует описание внешнего ключа в ограничения в объекте таблицы.
Параметры
-
Cake\Database\Schema\TableSchema$schema Объект таблицы, к которому нужно добавить ограничение.
-
array$row Данные строки из
describeForeignKeySql.
Возвращает
voidconvertIndexDescription() abstract public
convertIndexDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Преобразует результаты описания индекса в абстрактные индексы или ограничения схемы.
Параметры
-
Cake\Database\Schema\TableSchema$schema Объект таблицы, к которому нужно добавить индекс или ограничение.
-
array$row Данные строки из
describeIndexSql.
Возвращает
voidconvertOptionsDescription() public
convertOptionsDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Преобразует данные опций в опции таблицы.
Параметры
-
Cake\Database\Schema\TableSchema$schema Экземпляр таблицы.
-
array$row Строка данных.
Возвращает
voidcreateTableSql() abstract public
createTableSql(Cake\Database\Schema\TableSchema $schema, array<string> $columns, array<string> $constraints, array<string> $indexes): array<string>
Генерирует SQL для создания таблицы.
Параметры
-
Cake\Database\Schema\TableSchema$schema Экземпляр таблицы.
-
array<string>$columns Столбцы, которые нужно добавить в таблицу.
-
array<string>$constraints Ограничения для таблицы.
-
array<string>$indexes Индексы для таблицы.
Возвращает
array<string>describeColumnSql() abstract public
describeColumnSql(string $tableName, array<string, mixed> $config): array
Генерирует SQL для описания таблицы.
Параметры
-
string$tableName Имя таблицы, о которой нужно получить информацию.
-
array<string, mixed>$config Настройка подключения.
Возвращает
arraydescribeForeignKeySql() abstract public
describeForeignKeySql(string $tableName, array<string, mixed> $config): array
Генерирует SQL для описания внешних ключей в таблице.
Параметры
-
string$tableName Имя таблицы, о которой нужно получить информацию.
-
array<string, mixed>$config Настройка подключения.
Возвращает
arraydescribeIndexSql() abstract public
describeIndexSql(string $tableName, array<string, mixed> $config): array
Генерирует SQL для описания индексов в таблице.
Параметры
-
string$tableName Имя таблицы, о которой нужно получить информацию.
-
array<string, mixed>$config Настройка подключения.
Возвращает
arraydescribeOptionsSql() public
describeOptionsSql(string $tableName, array<string, mixed> $config): array
Генерирует SQL для описания опций таблицы.
Параметры
-
string$tableName Имя таблицы.
-
array<string, mixed>$config Настройка подключения.
Возвращает
arraydropConstraintSql() abstract public
dropConstraintSql(Cake\Database\Schema\TableSchema $schema): array
Генерировать SQL-запросы для удаления внешних ключей из таблицы
Параметры
-
Cake\Database\Schema\TableSchema$schema Экземпляр таблицы, к которой относятся внешние ключи.
Возвращаемое значение
arraydropTableSql() public
dropTableSql(Cake\Database\Schema\TableSchema $schema): array
Генерировать SQL-запрос для удаления таблицы.
Параметры
-
Cake\Database\Schema\TableSchema$schema Экземпляр схемы
Возвращаемое значение
arrayindexSql() abstract public
indexSql(Cake\Database\Schema\TableSchema $schema, string $name): string
Генерировать SQL-фрагмент для отдельного индекса в таблице.
Параметры
-
Cake\Database\Schema\TableSchema$schema Объект таблицы, в котором находится столбец.
-
string$name Имя столбца.
Возвращаемое значение
stringlistTablesSql() abstract public
listTablesSql(array<string, mixed> $config): array
Генерировать SQL-запрос для получения списка таблиц.
Параметры
-
array<string, mixed>$config Конфигурация подключения для получения таблиц.
Возвращаемое значение
arraylistTablesWithoutViewsSql() public @method
listTablesWithoutViewsSql(array $config): array<mixed>
Генерировать SQL-запрос для получения списка таблиц, исключая представления.
Параметры
-
array$config
Возвращаемое значение
array<mixed>truncateTableSql() abstract public
truncateTableSql(Cake\Database\Schema\TableSchema $schema): array
Генерировать SQL-запрос для усечения таблицы.
Параметры
-
Cake\Database\Schema\TableSchema$schema Экземпляр таблицы.
Возвращаемое значение
arrayПодробное описание свойств
$_driver protected
Используемый экземпляр драйвера.
Тип
Cake\Database\DriverInterface
© 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.SchemaDialect.html