Класс BaseSchema
Базовый класс для реализаций схем.
Этот класс содержит методы, общие для различных диалектов SQL.
Непосредственные подклассы
- Cake\Database\Schema\MysqlSchema
- Cake\Database\Schema\PostgresSchema
- Cake\Database\Schema\SqliteSchema
- Cake\Database\Schema\SqlserverSchema
Краткое описание свойств
- Инстанс используемого драйвера.
$_driverprotected
Краткое описание методов
- __construct() publicКонструктор
- _convertConstraintColumns() protected
Преобразовать ссылки на ограничения внешнего ключа в корректный строковый список
- _convertOnClause() protectedПреобразование строковых ON-аусловий в абстрактные.
- _foreignOnClause() protectedГенерация ON-аусловий для внешнего ключа.
- Генерация SQL-запросов для добавления ограничений внешнего ключа в таблицу
- Генерация SQL-фрагмента для отдельного столбца в таблице.
- Генерация SQL-фрагментов для определения ограничений таблицы.
- Преобразование результатов описания поля в абстрактные поля схемы.
- Преобразование описания внешнего ключа в ограничения объекта Table.
- Преобразование результатов описания индекса в абстрактные индексы или ограничения.
- convertOptionsDescription() publicПреобразование данных опций в опции таблицы.
- Генерация SQL для создания таблицы.
- Генерация SQL для описания столбца.
- Генерация SQL для описания внешних ключей в таблице.
- Генерация SQL для описания индексов в таблице.
- describeOptionsSql() publicГенерация SQL для описания опций таблицы
- Генерация SQL-запросов для удаления ограничений внешнего ключа из таблицы
- dropTableSql() publicГенерация SQL для удаления таблицы.
- Генерация SQL-фрагмента для отдельного индекса в таблице.
- Генерация SQL для вывода списка таблиц.
- Генерация SQL для усечения таблицы.
Подробное описание методов
__construct()source public
__construct( Cake\Database\Driver $driver )
Конструктор
Этот конструктор подключит драйвер, чтобы методы, такие как columnSql() и другие, возвращали ошибку, если драйвер не подключен.
Параметры
-
Cake\Database\Driver$driver - Используемый драйвер.
_convertConstraintColumns()source protected
_convertConstraintColumns( string|array $references )
Преобразовать ссылки на ограничения внешнего ключа в корректный строковый список
Параметры
- string|array
$references - Столбцы, на которые ссылается ограничение внешнего ключа
Возвращает
string_convertOnClause()source protected
_convertOnClause( string $clause )
Преобразование строковых ON-аусловий в абстрактные.
Параметры
- string
$clause - ON-аусловие для преобразования.
Возвращает
string|null_foreignOnClause()source protected
_foreignOnClause( string|null $on )
Генерация ON-аусловий для внешнего ключа.
Параметры
- string|null
$on - ON-аусловие
Возвращает
stringaddConstraintSql()source abstract public
addConstraintSql( Cake\Database\Schema\Table $table )
Генерация SQL-запросов для добавления ограничений внешнего ключа в таблицу
Параметры
-
Cake\Database\Schema\Table$table - Объект таблицы, к которому относятся ограничения внешнего ключа.
Возвращает
arraySQL-фрагмент.
columnSql()source abstract public
columnSql( Cake\Database\Schema\Table $table , string $name )
Генерация SQL-фрагмента для отдельного столбца в таблице.
Параметры
-
Cake\Database\Schema\Table$table - Объект таблицы, к которому относится столбец.
- string
$name - Имя столбца.
Возвращает
stringSQL-фрагмент.
constraintSql()source abstract public
constraintSql( Cake\Database\Schema\Table $table , string $name )
Генерация SQL-фрагментов для определения ограничений таблицы.
Параметры
-
Cake\Database\Schema\Table$table - Объект таблицы, к которому относится столбец.
- string
$name - Имя столбца.
Возвращает
stringSQL-фрагмент.
convertColumnDescription()source abstract public
convertColumnDescription( Cake\Database\Schema\Table $table , array $row )
Преобразование результатов описания поля в абстрактные поля схемы.
Параметры
-
Cake\Database\Schema\Table$table - Объект таблицы, к которому нужно добавить поля.
- array
$row - Данные строки из
describeColumnSql.
convertForeignKeyDescription()source abstract public
convertForeignKeyDescription( Cake\Database\Schema\Table $table , array $row )
Преобразовать описание внешнего ключа в ограничения объекта таблицы.
Параметры
-
Cake\Database\Schema\Table$table Объект таблицы, к которому нужно добавить ограничение.
- массив
$row - Данные строки из
describeForeignKeySql.
convertIndexDescription()source abstract public
convertIndexDescription( Cake\Database\Schema\Table $table , array $row )
Преобразовать результаты описания индекса в абстрактные индексы или ограничения схемы.
Параметры
-
Cake\Database\Schema\Table$table Объект таблицы, к которому нужно добавить индекс или ограничение.
- массив
$row - Данные строки из
describeIndexSql.
convertOptionsDescription()source public
convertOptionsDescription( Cake\Database\Schema\Table $table , array $row )
Преобразовать данные опций в параметры таблицы.
Параметры
-
Cake\Database\Schema\Table$table - Экземпляр таблицы.
- массив
$row - Строка данных.
createTableSql()source abstract public
createTableSql( Cake\Database\Schema\Table $table , array $columns , array $constraints , array $indexes )
Сгенерировать SQL для создания таблицы.
Параметры
-
Cake\Database\Schema\Table$table - Экземпляр таблицы.
- массив
$columns - Столбцы, которые нужно поместить в таблицу.
- массив
$constraints - Ограничения для таблицы.
- массив
$indexes - Индексы для таблицы.
Возвращает
массивSQL-команды для создания таблицы.
describeColumnSql()source abstract public
describeColumnSql( string $tableName , array $config )
Сгенерировать SQL для описания таблицы.
Параметры
- строка
$tableName - Имя таблицы, для получения информации.
- массив
$config - Настройка подключения.
Возвращает
массивМассив (sql, params) для выполнения.
describeForeignKeySql()source abstract public
describeForeignKeySql( string $tableName , array $config )
Сгенерировать SQL для описания внешних ключей в таблице.
Параметры
- строка
$tableName - Имя таблицы, для получения информации.
- массив
$config - Настройка подключения.
Возвращает
массивМассив (sql, params) для выполнения.
describeIndexSql()source abstract public
describeIndexSql( string $tableName , array $config )
Сгенерировать SQL для описания индексов в таблице.
Параметры
- строка
$tableName - Имя таблицы, для получения информации.
- массив
$config - Настройка подключения.
Возвращает
массивМассив (sql, params) для выполнения.
describeOptionsSql()source public
describeOptionsSql( string $tableName , array $config )
Сгенерировать SQL для описания параметров таблицы
Параметры
- строка
$tableName - Имя таблицы.
- массив
$config - Настройка подключения.
Возвращает
массивSQL-команды для получения параметров таблицы.
dropConstraintSql()source abstract public
dropConstraintSql( Cake\Database\Schema\Table $table )
Сгенерировать SQL-запросы для удаления ограничений внешних ключей из таблицы
Параметры
-
Cake\Database\Schema\Table$table - Экземпляр таблицы, у которой нужно удалить ограничения внешних ключей.
Возвращает
массивSQL фрагмент.
dropTableSql()source public
dropTableSql( Cake\Database\Schema\Table $table )
Сгенерировать SQL для удаления таблицы.
Параметры
-
Cake\Database\Schema\Table$table - Экземпляр таблицы
Возвращает
массивSQL-команды для удаления таблицы.
indexSql()source abstract public
indexSql( Cake\Database\Schema\Table $table , string $name )
Сгенерировать SQL-фрагмент для отдельного индекса в таблице.
Параметры
-
Cake\Database\Schema\Table$table - Объект таблицы, в которой находится столбец.
- строка
$name - Имя столбца.
Возвращает
строкаSQL фрагмент.
listTablesSql()source abstract public
listTablesSql( array $config )
Сгенерировать SQL для перечисления таблиц.
Параметры
- массив
$config Настройка подключения для получения таблиц.
Возвращает
массивМассив (sql, params) для выполнения.
truncateTableSql()source abstract public
truncateTableSql( Cake\Database\Schema\Table $table )
Сгенерировать SQL для обнуления таблицы.
Параметры
-
Cake\Database\Schema\Table$table - Экземпляр таблицы.
Возвращает
массивSQL-команды для обнуления таблицы.
Подробное описание свойств
© 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.3/class-Cake.Database.Schema.BaseSchema.html