Класс SqliteSchemaDialect
Функции управления/отражения схемы для Sqlite
Краткое описание свойств
- $_constraintsIdMap protected
arrayМассив, содержащий имена ограничений внешних ключей. Необходим для обработки составных внешних ключей
- $_driver protected
Cake\Database\DriverInterfaceИспользуемый экземпляр драйвера.
- $_hasSequences protected
boolПризнак наличия в этом подключении к SQLite таблиц, содержащих последовательности.
Краткое описание методов
-
__construct() public
Конструктор
-
_convertColumn() protected
Преобразовать определение столбца в абстрактные типы.
-
_convertConstraintColumns() protected
Преобразовать ссылки на ограничения внешних ключей в допустимый строковый список
-
_convertOnClause() protected
Преобразовать строковые ON-определения в абстрактные.
-
_defaultValue() protected
Обработать значение по умолчанию.
-
_foreignOnClause() protected
Сгенерировать ON-определение для внешнего ключа.
-
addConstraintSql() public
Сгенерировать SQL-запросы для добавления ограничений внешних ключей в таблицу
-
columnSql() public
Сгенерировать SQL-фрагмент для отдельного столбца в таблице.
-
constraintSql() public
Сгенерировать SQL-фрагменты для определения ограничений таблицы.
-
convertColumnDescription() public
Преобразовать результаты описания столбцов в абстрактные поля схемы.
-
convertForeignKeyDescription() public
Преобразовать описание внешнего ключа в ограничения объекта Table.
-
convertIndexDescription() public
Преобразовать результаты описания индексов в абстрактные индексы или ограничения схемы.
-
convertOptionsDescription() public
Преобразовать данные параметров в параметры таблицы.
-
createTableSql() public
Сгенерировать SQL для создания таблицы.
-
describeColumnSql() public
Сгенерировать SQL для описания таблицы.
-
describeForeignKeySql() public
Сгенерировать SQL для описания внешних ключей в таблице.
-
describeIndexSql() public
Сгенерировать SQL для описания индексов в таблице.
-
describeOptionsSql() public
Сгенерировать SQL для описания параметров таблицы
-
dropConstraintSql() public
Сгенерировать SQL-запросы для удаления ограничений внешних ключей из таблицы
-
dropTableSql() public
Сгенерировать SQL для удаления таблицы.
-
hasSequences() public
Возвращает признак наличия в этом подключении к SQLite таблиц, содержащих последовательности
-
indexSql() public
Сгенерировать SQL-фрагмент для отдельного индекса в таблице.
-
listTablesSql() public
Сгенерировать SQL для вывода списка таблиц.
-
truncateTableSql() public
Сгенерировать SQL для обнуления таблицы.
Подробное описание методов
__construct() public
__construct(Cake\Database\DriverInterface $driver)
Конструктор
Этот конструктор подключает драйвер, чтобы методы, такие как columnSql() и другие, возвращали ошибку, если драйвер не подключён.
Параметры
-
Cake\Database\DriverInterface$driver Используемый драйвер.
_convertColumn() protected
_convertColumn(string $column): array
Преобразование определения столбца в абстрактные типы.
Возвращаемый тип будет типом, который может обработать Cake\Database\TypeFactory.
Параметры
-
string$column Тип и длина столбца
Возвращаемое значение
arrayИсключения
Cake\Database\Exception\DatabaseExceptionпри невозможности разобрать тип столбца
_convertConstraintColumns() protected
_convertConstraintColumns(string|array $references): string
Преобразование ссылок на ограничения внешнего ключа в корректный строковый список.
Параметры
-
string|array$references Ссылаемые столбцы оператора ограничения внешнего ключа.
Возвращаемое значение
string_convertOnClause() protected
_convertOnClause(string $clause): string
Преобразование строковых операторов on в абстрактные.
Параметры
-
string$clause Оператор on для преобразования.
Возвращаемое значение
string_defaultValue() protected
_defaultValue(string|int|null $default): string|int|null
Обработка значения по умолчанию.
Sqlite включает кавычки и значения NULL в значениях по умолчанию. Нам нужно их удалить.
Параметры
-
string|int|null$default Значение по умолчанию.
Возвращаемое значение
string|int|null_foreignOnClause() protected
_foreignOnClause(string $on): string
Генерация оператора ON для внешнего ключа.
Параметры
-
string$on Оператор on
Возвращаемое значение
stringaddConstraintSql() public
addConstraintSql(Cake\Database\Schema\TableSchema $schema): array
Генерация SQL-запросов для добавления ограничений внешнего ключа к таблице
SQLite не может правильно обработать добавление ограничения к существующей таблице. Этот метод ничего не делает.
Параметры
-
Cake\Database\Schema\TableSchema$schema Экземпляр таблицы, к которому применяются ограничения внешнего ключа.
Возвращаемое значение
arraycolumnSql() public
columnSql(Cake\Database\Schema\TableSchema $schema, string $name): string
Генерация SQL-фрагмента для одного столбца в таблице.
Параметры
-
Cake\Database\Schema\TableSchema$schema Экземпляр таблицы, в которой находится столбец.
-
string$name Имя столбца.
Возвращаемое значение
stringИсключения
Cake\Database\Exception\DatabaseExceptionкогда тип столбца неизвестен
constraintSql() public
constraintSql(Cake\Database\Schema\TableSchema $schema, string $name): string
Генерация SQL-фрагментов для определения ограничений таблицы.
Обратите внимание, что целые первичные ключи вернут ''. Это сделано намеренно, так как Sqlite требует, чтобы целые первичные ключи были определены в определении столбца.
Параметры
-
Cake\Database\Schema\TableSchema$schema Экземпляр таблицы, в которой находится столбец.
-
string$name Имя столбца.
Возвращаемое значение
stringconvertColumnDescription() public
convertColumnDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Преобразование результатов описания полей в абстрактные поля схемы.
Параметры
-
Cake\Database\Schema\TableSchema$schema -
array$row
Возвращаемое значение
voidconvertForeignKeyDescription() public
convertForeignKeyDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Преобразование описания внешнего ключа в ограничения в объекте Table.
Параметры
-
Cake\Database\Schema\TableSchema$schema -
array$row
Возвращаемое значение
voidconvertIndexDescription() public
convertIndexDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Преобразование результатов описания индекса в абстрактные индексы или ограничения схемы.
Так как SQLite не имеет способа получить метаданные обо всех индексах сразу, здесь выполняются дополнительные запросы. Имена ограничений SQLite нестабильны, и имена ограничений не будут соответствовать именам, используемым для создания таблицы. Это ограничение возможностей метаданных SQLite.
Параметры
-
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() public
createTableSql(Cake\Database\Schema\TableSchema $schema, string[] $columns, string[] $constraints, string[] $indexes): string[]
Генерация SQL для создания таблицы.
Параметры
-
Cake\Database\Schema\TableSchema$schema -
string[]$columns -
string[]$constraints -
string[]$indexes
Возвращаемое значение
string[]describeColumnSql() public
describeColumnSql(string $tableName, array $config): array
Генерация SQL для описания таблицы.
Параметры
-
string$tableName -
array$config
Возвращаемое значение
arraydescribeForeignKeySql() public
describeForeignKeySql(string $tableName, array $config): array
Генерация SQL для описания внешних ключей в таблице.
Параметры
-
string$tableName -
array$config
Возвращаемое значение
arraydescribeIndexSql() public
describeIndexSql(string $tableName, array $config): array
Генерация SQL для описания индексов в таблице.
Параметры
-
string$tableName -
array$config
Возвращаемое значение
arraydescribeOptionsSql() public
describeOptionsSql(string $tableName, array $config): array
Генерация SQL для описания параметров таблицы.
Параметры
-
string$tableName Имя таблицы.
-
array$config Настройка подключения.
Возвращаемое значение
arraydropConstraintSql() public
dropConstraintSql(Cake\Database\Schema\TableSchema $schema): array
Генерация SQL-запросов для удаления ограничений внешнего ключа из таблицы
SQLite не может правильно обработать удаление ограничения из существующей таблицы. Этот метод ничего не делает.
Параметры
-
Cake\Database\Schema\TableSchema$schema Экземпляр таблицы, из которой удаляются ограничения внешнего ключа.
Возвращаемое значение
arraydropTableSql() public
dropTableSql(Cake\Database\Schema\TableSchema $schema): array
Сгенерировать SQL для удаления таблицы.
Параметры
-
Cake\Database\Schema\TableSchema$schema Экземпляр схемы
Возвращаемое значение
arrayhasSequences() public
hasSequences(): bool
Возвращает, есть ли в этом соединении с SQLite какие-либо таблицы, содержащие последовательности.
Возвращаемое значение
boolindexSql() public
indexSql(Cake\Database\Schema\TableSchema $schema, string $name): string
Сгенерировать фрагмент SQL для одного индекса в таблице.
Параметры
-
Cake\Database\Schema\TableSchema$schema -
string$name
Возвращаемое значение
stringlistTablesSql() public
listTablesSql(array $config): array
Сгенерировать SQL для вывода списка таблиц.
Параметры
-
array$config
Возвращаемое значение
arraytruncateTableSql() public
truncateTableSql(Cake\Database\Schema\TableSchema $schema): array
Сгенерировать SQL для обнуления таблицы.
Параметры
-
Cake\Database\Schema\TableSchema$schema
Возвращаемое значение
arrayПодробное описание свойств
$_constraintsIdMap protected
Массив, содержащий имена ограничений внешних ключей. Необходим для обработки составных внешних ключей.
Тип
array$_driver protected
Экземпляр используемого драйвера.
Тип
Cake\Database\DriverInterface$_hasSequences protected
Есть ли в этом соединении с SQLite какие-либо таблицы, содержащие последовательности.
Тип
bool
© 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.SqliteSchemaDialect.html