Класс SqliteSchema
Функции управления схемой/рефлексии для Sqlite
- Cake\Database\Schema\BaseSchema
-
Cake\Database\Schema\SqliteSchema
Краткое описание свойств
-
$_constraintsIdMapprotectedarrayМассив, содержащий имена ограничений внешних ключей. Необходим для обработки составных внешних ключей
-
$_hasSequencesprotectedСуществуют ли в этом подключении к SQLite таблицы, содержащие последовательности.boolean
Унаследованные свойства
Краткое описание методов
- _convertColumn() protectedПреобразование определения столбца к абстрактным типам.
- _defaultValue() protectedОбработка значения по умолчанию.
- addConstraintSql() publicГенерация SQL-запросов, необходимых для добавления ограничений внешних ключей в таблицу
- columnSql() publicГенерация SQL-фрагмента для одного столбца в таблице.
- constraintSql() publicГенерация SQL-фрагментов для определения ограничений таблицы.
- convertColumnDescription() publicПреобразование результатов описания поля в абстрактные поля схемы.
- Преобразование описания внешнего ключа в ограничения в объекте Table.
- convertIndexDescription() publicПреобразование результатов описания индекса в абстрактные индексы или ограничения схемы.
- createTableSql() publicГенерация SQL для создания таблицы.
- describeColumnSql() publicГенерация SQL для описания таблицы.
- describeForeignKeySql() publicГенерация SQL для описания внешних ключей в таблице.
- describeIndexSql() publicГенерация SQL для описания индексов в таблице.
- dropConstraintSql() publicГенерация SQL-запросов, необходимых для удаления ограничений внешних ключей из таблицы
- hasSequences() public
Возвращает, есть ли в этом подключении к SQLite таблицы, содержащие последовательности
- indexSql() publicГенерация SQL-фрагмента для одного индекса в таблице.
- listTablesSql() publicГенерация SQL для вывода списка таблиц.
- truncateTableSql() publicГенерация SQL для усечения таблицы.
Подробное описание методов
_convertColumn()source protected
_convertColumn( string $column )
Преобразование определения столбца к абстрактным типам.
Возвращаемый тип будет типом, который может обработать Cake\Database\Type.
Параметры
- строка
$column - Тип столбца + длина
Возвращаемое значение
массивМассив информации о столбце.
Исключения
Cake\Database\Exceptionпри невозможности разбора типа столбца
_defaultValue()source protected
_defaultValue( string|null $default )
Обработка значения по умолчанию.
Sqlite включает кавычки и необязательные NULL в значениях по умолчанию. Нам нужно их удалить.
Параметры
- строка|null
$default - Значение по умолчанию.
Возвращаемое значение
строка|nulladdConstraintSql()source public
addConstraintSql( Cake\Database\Schema\TableSchema $schema )
Генерация SQL-запросов, необходимых для добавления ограничений внешних ключей в таблицу
SQLite не может должным образом обработать добавление ограничения к существующей таблице. Этот метод ничего не делает.
Параметры
-
Cake\Database\Schema\TableSchema$schema - Экземпляр таблицы, к которому относятся ограничения внешних ключей.
Возвращаемое значение
массивSQL-фрагмент.
columnSql()source public
columnSql( Cake\Database\Schema\TableSchema $schema , string $name )
Генерация SQL-фрагмента для одного столбца в таблице.
Параметры
-
Cake\Database\Schema\TableSchema$schema - Экземпляр таблицы, в которой находится столбец.
- строка
$name - Имя столбца.
Возвращаемое значение
строкаSQL-фрагмент.
Исключения
Cake\Database\Exceptionесли тип столбца неизвестен
constraintSql()source public
constraintSql( Cake\Database\Schema\TableSchema $schema , string $name )
Генерация SQL-фрагментов для определения ограничений таблицы.
Обратите внимание, что целые первичные ключи вернут ''. Это сделано намеренно, так как Sqlite требует, чтобы целые первичные ключи были определены в определении столбца.
Параметры
-
Cake\Database\Schema\TableSchema$schema - Экземпляр таблицы, в которой находится столбец.
- строка
$name - Имя столбца.
Возвращаемое значение
строкаSQL-фрагмент.
convertColumnDescription()source public
convertColumnDescription( Cake\Database\Schema\TableSchema $schema , array $row )
Преобразование результатов описания поля в абстрактные поля схемы.
Параметры
-
Cake\Database\Schema\TableSchema$schema - Объект таблицы, к которому нужно добавить поля.
- массив
$row - Данные строки из
describeColumnSql.
convertForeignKeyDescription()source public
convertForeignKeyDescription( Cake\Database\Schema\TableSchema $schema , array $row )
Преобразование описания внешнего ключа в ограничения в объекте Table.
Параметры
-
Cake\Database\Schema\TableSchema$schema Объект таблицы, к которому нужно добавить ограничение.
- массив
$row - Данные строки из
describeForeignKeySql.
convertIndexDescription()source public
convertIndexDescription( Cake\Database\Schema\TableSchema $schema , array $row )
Преобразование результатов описания индекса в абстрактные индексы или ограничения схемы.
Поскольку SQLite не предоставляет способ получения метаданных обо всех индексах сразу, здесь выполняются дополнительные запросы. Имена ограничений SQLite не стабильны, и имена ограничений не будут совпадать с именами, используемыми для создания таблицы. Это ограничение в метаданных возможностей Sqlite.
Параметры
-
Cake\Database\Schema\TableSchema$schema Объект таблицы, к которому нужно добавить индекс или ограничение.
- массив
$row - Данные строки из
describeIndexSql.
createTableSql()source public
createTableSql( Cake\Database\Schema\TableSchema $schema , array $columns , array $constraints , array $indexes )
Генерировать SQL для создания таблицы.
Параметры
-
Cake\Database\Schema\TableSchema$schema - Экземпляр таблицы.
- массив
$columns - Столбцы, которые нужно поместить в таблицу.
- массив
$constraints - Ограничения для таблицы.
- массив
$indexes - Индексы для таблицы.
Возвращает
массивSQL-запросы для создания таблицы.
describeColumnSql()source public
describeColumnSql( string $tableName , array $config )
Генерировать SQL для описания таблицы.
Параметры
- строка
$tableName - Имя таблицы, для которой требуется информация.
- массив
$config - Конфигурация подключения.
Возвращает
массивМассив (sql, params) для выполнения.
describeForeignKeySql()source public
describeForeignKeySql( string $tableName , array $config )
Генерировать SQL для описания внешних ключей в таблице.
Параметры
- строка
$tableName - Имя таблицы, для которой требуется информация.
- массив
$config - Конфигурация подключения.
Возвращает
массивМассив (sql, params) для выполнения.
describeIndexSql()source public
describeIndexSql( string $tableName , array $config )
Генерировать SQL для описания индексов в таблице.
Параметры
- строка
$tableName - Имя таблицы, для которой требуется информация.
- массив
$config - Конфигурация подключения.
Возвращает
массивМассив (sql, params) для выполнения.
dropConstraintSql()source public
dropConstraintSql( Cake\Database\Schema\TableSchema $schema )
Генерировать SQL-запросы, необходимые для удаления ограничений внешнего ключа из таблицы.
SQLite не может правильно обработать удаление ограничения существующей таблицы. Этот метод является пустым.
Параметры
-
Cake\Database\Schema\TableSchema$schema - Экземпляр таблицы, к которому относятся ограничения внешнего ключа.
Возвращает
массивSQL-фрагмент.
hasSequences()source public
hasSequences( )
Возвращает, есть ли в этом подключении к SQLite какая-либо таблица, содержащая последовательности.
Возвращает
логическое значениеindexSql()source public
indexSql( Cake\Database\Schema\TableSchema $schema , string $name )
Генерировать SQL-фрагмент для отдельного индекса в таблице.
Параметры
-
Cake\Database\Schema\TableSchema$schema - Объект таблицы, в котором находится столбец.
- строка
$name - Имя столбца.
Возвращает
строкаSQL-фрагмент.
listTablesSql()source public
listTablesSql( array $config )
Генерировать SQL для вывода списка таблиц.
Параметры
- массив
$config Конфигурация подключения, используемая для получения таблиц.
Возвращает
массивМассив (sql, params) для выполнения.
truncateTableSql()source public
truncateTableSql( Cake\Database\Schema\TableSchema $schema )
Генерировать SQL для обнуления таблицы.
Параметры
-
Cake\Database\Schema\TableSchema$schema - Экземпляр таблицы.
Возвращает
массивSQL-запросы для обнуления таблицы.
Методы, унаследованные от Cake\Database\Schema\BaseSchema
__construct()source public
__construct( Cake\Database\Driver $driver )
Конструктор
Этот конструктор подключит драйвер, поэтому методы, такие как columnSql() и другие, будут возвращать ошибку, если драйвер не подключен.
Параметры
-
Cake\Database\Driver$driver - Используемый драйвер.
_convertConstraintColumns()source protected
_convertConstraintColumns( string|array $references )
Преобразовать ссылки на ограничения внешнего ключа в допустимый строковый список.
Параметры
- строка|массив
$references - Ссылаемые столбцы утверждения ограничения внешнего ключа
Возвращает
строка_convertOnClause()source protected
_convertOnClause( string $clause )
Преобразовать строковые ON-определения в абстрактные.
Параметры
- строка
$clause - ON-определение для преобразования.
Возвращает
строка|null_foreignOnClause()source protected
_foreignOnClause( string|null $on )
Сгенерировать ON-определение для внешнего ключа.
Параметры
- строка|null
$on - ON-определение
Возвращает
строкаconvertOptionsDescription()source public
convertOptionsDescription( Cake\Database\Schema\TableSchema $schema , array $row )
Преобразовать данные опций в параметры таблицы.
Параметры
-
Cake\Database\Schema\TableSchema$schema - Экземпляр таблицы.
- массив
$row - Строка данных.
describeOptionsSql()source public
describeOptionsSql( string $tableName , array $config )
Сгенерировать SQL для описания параметров таблицы.
Параметры
- строка
$tableName - Имя таблицы.
- массив
$config - Конфигурация подключения.
Возвращает
массивSQL-запросы для получения параметров таблицы.
dropTableSql()source public
dropTableSql( Cake\Database\Schema\TableSchema $schema )
Сгенерировать SQL для удаления таблицы.
Параметры
-
Cake\Database\Schema\TableSchema$schema - Экземпляр схемы
Возвращает
массивSQL-запросы для удаления таблицы.
Подробности свойств
$_constraintsIdMapsource
protected массив
Массив, содержащий имена ограничений внешних ключей. Необходим для обработки составных внешних ключей.
[]
$_hasSequencessource
protected логическое значение
Есть ли в этом подключении к SQLite какая-либо таблица, содержащая последовательности.
© 2005–2018 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.5/class-Cake.Database.Schema.SqliteSchema.html