Класс yii\db\sqlite\Schema
| Наследование | yii\db\sqlite\Schema » yii\db\Schema » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/db/sqlite/Schema.php |
Класс Schema предназначен для получения метаданных из базы данных SQLite (2/3).
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $columnSchemaClass | string | Класс схемы столбца | yii\db\Schema |
| $db | yii\db\Connection | Подключение к базе данных | yii\db\Schema |
| $defaultSchema | string | Имя схемы по умолчанию, используемое для текущей сессии. | yii\db\Schema |
| $exceptionMap | array | Маппинг ошибок БД и соответствующих исключений. Если левая часть найдена в сообщении об ошибке БД, используется класс исключения из правой части. | yii\db\Schema |
| $lastInsertID | string | Идентификатор последней вставленной строки или последнее значение, полученное из объекта последовательности | yii\db\Schema |
| $queryBuilder | yii\db\QueryBuilder | Построитель запросов для этого подключения. | yii\db\Schema |
| $schemaNames | string[] | Все имена схем в базе данных, кроме системных схем. | yii\db\Schema |
| $tableNames | string[] | Все имена таблиц в базе данных. | yii\db\Schema |
| $tableSchemas | yii\db\TableSchema[] | Метаданные всех таблиц в базе данных. | yii\db\Schema |
| $transactionIsolationLevel | string | Уровень изоляции транзакции для этой транзакции. | yii\db\sqlite\Schema |
| $typeMap | array | Маппинг физических типов столбцов (ключи) на абстрактные типы столбцов (значения) | yii\db\sqlite\Schema |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| canGetProperty() | Возвращает значение, указывающее, может ли свойство читаться. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, может ли свойство устанавливаться. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| convertException() | Преобразует исключение DB в более конкретное, если это возможно. | yii\db\Schema |
| createColumnSchemaBuilder() | Создает экземпляр билдера схемы столбца, задавая тип и точность значения. | yii\db\sqlite\Schema |
| createQueryBuilder() | Создаёт билдер запроса для базы данных MySQL. | yii\db\sqlite\Schema |
| createSavepoint() | Создаёт новую точку сохранения. | yii\db\Schema |
| findUniqueIndexes() | Возвращает все уникальные индексы для заданной таблицы. | yii\db\sqlite\Schema |
| getLastInsertID() | Возвращает ID последней вставленной строки или значения последовательности. | yii\db\Schema |
| getPdoType() | Определяет тип PDO для данного значения данных PHP. | yii\db\Schema |
| getQueryBuilder() | yii\db\Schema | |
| getRawTableName() | Возвращает фактическое имя заданного имени таблицы. | yii\db\Schema |
| getSchemaNames() | Возвращает все имена схем в базе данных, за исключением системных схем. | yii\db\Schema |
| getTableNames() | Возвращает все имена таблиц в базе данных. | yii\db\Schema |
| getTableSchema() | Получает метаданные для указанной таблицы. | yii\db\Schema |
| getTableSchemas() | Возвращает метаданные для всех таблиц в базе данных. | yii\db\Schema |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| insert() | Выполняет команду INSERT, возвращая значения первичных ключей. | yii\db\Schema |
| isReadQuery() | Возвращает значение, указывающее, предназначен ли SQL-запрос для чтения. | yii\db\Schema |
| quoteColumnName() | Приводит имя столбца в кавычки для использования в запросе. | yii\db\Schema |
| quoteSimpleColumnName() | Приводит имя столбца в кавычки для использования в запросе. | yii\db\sqlite\Schema |
| quoteSimpleTableName() | Приводит имя таблицы в кавычки для использования в запросе. | yii\db\sqlite\Schema |
| quoteTableName() | Приводит имя таблицы в кавычки для использования в запросе. | yii\db\Schema |
| quoteValue() | Приводит строковое значение в кавычки для использования в запросе. | yii\db\Schema |
| refresh() | Обновляет схему. | yii\db\Schema |
| refreshTableSchema() | Обновляет схему конкретной таблицы. | yii\db\Schema |
| releaseSavepoint() | Освобождает существующую точку сохранения. | yii\db\Schema |
| rollBackSavepoint() | Возвращает к ранее созданной точке сохранения. | yii\db\Schema |
| setTransactionIsolationLevel() | Устанавливает уровень изоляции текущей транзакции. | yii\db\sqlite\Schema |
| supportsSavepoint() | yii\db\Schema |
Методы защиты
| Метод | Описание | Определено в |
|---|---|---|
| createColumnSchema() | yii\db\Schema | |
| findColumns() | Сбор метаданных столбцов таблицы. | yii\db\sqlite\Schema |
| findConstraints() | Сбор подробностей столбцов внешних ключей для заданной таблицы. | yii\db\sqlite\Schema |
| findSchemaNames() | Возвращает все имена схем в базе данных, включая стандартную, но не системные схемы. | yii\db\Schema |
| findTableNames() | Возвращает все имена таблиц в базе данных. | yii\db\sqlite\Schema |
| getCacheKey() | Возвращает ключ кэша для указанного имени таблицы. | yii\db\Schema |
| getCacheTag() | Возвращает имя тега кэша. | yii\db\Schema |
| getColumnPhpType() | Извлекает PHP-тип из абстрактного типа DB. | yii\db\Schema |
| loadColumnSchema() | Загружает информацию о столбце в объект yii\db\ColumnSchema. | yii\db\sqlite\Schema |
| loadTableSchema() | Загружает метаданные для указанной таблицы. | yii\db\sqlite\Schema |
Константы
| Константа | Значение | Описание | Определено в |
|---|---|---|---|
| TYPE_BIGINT | 'bigint' | yii\db\Schema | |
| TYPE_BIGPK | 'bigpk' | yii\db\Schema | |
| TYPE_BINARY | 'binary' | yii\db\Schema | |
| TYPE_BOOLEAN | 'boolean' | yii\db\Schema | |
| TYPE_CHAR | 'char' | yii\db\Schema | |
| TYPE_DATE | 'date' | yii\db\Schema | |
| TYPE_DATETIME | 'datetime' | yii\db\Schema | |
| TYPE_DECIMAL | 'decimal' | yii\db\Schema | |
| TYPE_DOUBLE | 'double' | yii\db\Schema | |
| TYPE_FLOAT | 'float' | yii\db\Schema | |
| TYPE_INTEGER | 'integer' | yii\db\Schema | |
| TYPE_MONEY | 'money' | yii\db\Schema | |
| TYPE_PK | 'pk' | yii\db\Schema | |
| TYPE_SMALLINT | 'smallint' | yii\db\Schema | |
| TYPE_STRING | 'string' | yii\db\Schema | |
| TYPE_TEXT | 'text' | yii\db\Schema | |
| TYPE_TIME | 'time' | yii\db\Schema | |
| TYPE_TIMESTAMP | 'timestamp' | yii\db\Schema | |
| TYPE_UBIGPK | 'ubigpk' | yii\db\Schema | |
| TYPE_UPK | 'upk' | yii\db\Schema |
Подробное описание свойств
$transactionIsolationLevel общедоступное только для записи свойство
Уровень изоляции транзакции, который следует использовать для данной транзакции. Может быть либо yii\db\Transaction::READ_UNCOMMITTED, либо yii\db\Transaction::SERIALIZABLE.
public void setTransactionIsolationLevel ( $level )
$typeMap общедоступное свойство
Сопоставление физических типов столбцов (ключи) с абстрактными типами столбцов (значения)
public array $typeMap = ['tinyint' => self::TYPE_SMALLINT, 'bit' => self::TYPE_SMALLINT, 'boolean' => self::TYPE_BOOLEAN, 'bool' => self::TYPE_BOOLEAN, 'smallint' => self::TYPE_SMALLINT, 'mediumint' => self::TYPE_INTEGER, 'int' => self::TYPE_INTEGER, 'integer' => self::TYPE_INTEGER, 'bigint' => self::TYPE_BIGINT, 'float' => self::TYPE_FLOAT, 'double' => self::TYPE_DOUBLE, 'real' => self::TYPE_FLOAT, 'decimal' => self::TYPE_DECIMAL, 'numeric' => self::TYPE_DECIMAL, 'tinytext' => self::TYPE_TEXT, 'mediumtext' => self::TYPE_TEXT, 'longtext' => self::TYPE_TEXT, 'text' => self::TYPE_TEXT, 'varchar' => self::TYPE_STRING, 'string' => self::TYPE_STRING, 'char' => self::TYPE_CHAR, 'blob' => self::TYPE_BINARY, 'datetime' => self::TYPE_DATETIME, 'year' => self::TYPE_DATE, 'date' => self::TYPE_DATE, 'time' => self::TYPE_TIME, 'timestamp' => self::TYPE_TIMESTAMP, 'enum' => self::TYPE_STRING]
Подробное описание методов
createColumnSchemaBuilder() public метод
Создать экземпляр билдера схемы столбца, указав тип и точность значения.
Этот метод может быть переопределён дочерними классами для создания билдера схемы столбца, специфичного для СУБД.
| public yii\db\sqlite\ColumnSchemaBuilder createColumnSchemaBuilder ( $type, $length = null ) | ||
|---|---|---|
| $type | строка |
Тип столбца. См. yii\db\sqlite\ColumnSchemaBuilder::$type. |
| $length | целое число|строка|массив |
Длина или точность столбца. См. yii\db\sqlite\ColumnSchemaBuilder::$length. |
| return | yii\db\sqlite\ColumnSchemaBuilder |
Экземпляр билдера схемы столбца |
createQueryBuilder() public метод
Создаёт билдер запросов для базы данных MySQL.
Этот метод может быть переопределён дочерними классами для создания билдера запросов, специфичного для СУБД.
| public yii\db\sqlite\QueryBuilder createQueryBuilder ( ) | ||
|---|---|---|
| return | yii\db\sqlite\QueryBuilder |
Экземпляр билдера запросов |
findColumns() защищённый метод
Собирает метаданные столбцов таблицы.
| protected boolean findColumns ( $table ) | ||
|---|---|---|
| $table | yii\db\TableSchema |
Метаданные таблицы |
| return | boolean |
Существует ли таблица в базе данных |
findConstraints() защищённый метод
Собирает данные о внешних ключах для столбцов заданной таблицы.
| protected void findConstraints ( $table ) | ||
|---|---|---|
| $table | yii\db\TableSchema |
Метаданные таблицы |
findTableNames() защищённый метод
Возвращает все имена таблиц в базе данных.
| protected массив findTableNames ( $schema = '' ) | ||
|---|---|---|
| $schema | строка |
Схема таблиц. По умолчанию пустая строка, означающая текущую или по умолчанию схему. |
| return | массив |
Все имена таблиц в базе данных. Имена НЕ содержат префикс имени схемы. |
findUniqueIndexes() public метод
Возвращает все уникальные индексы для данной таблицы.
Каждый элемент массива имеет следующий структуру:
[
'IndexName1' => ['col1' [, ...]],
'IndexName2' => ['col2' [, ...]],
]
| public массив findUniqueIndexes ( $table ) | ||
|---|---|---|
| $table | yii\db\TableSchema |
Метаданные таблицы |
| return | массив |
Все уникальные индексы для данной таблицы. |
loadColumnSchema() защищённый метод
Загружает информацию о столбце в объект yii\db\ColumnSchema.
| protected yii\db\ColumnSchema loadColumnSchema ( $info ) | ||
|---|---|---|
| $info | массив |
Информация о столбце |
| return | yii\db\ColumnSchema |
Объект схемы столбца |
loadTableSchema() защищённый метод
Загружает метаданные для указанной таблицы.
| protected yii\db\TableSchema loadTableSchema ( $name ) | ||
|---|---|---|
| $name | строка |
Имя таблицы |
| return | yii\db\TableSchema |
Метаданные таблицы, зависящие от драйвера. Нуль, если таблица не существует. |
quoteSimpleColumnName() public метод
Приводит имя столбца в соответствие для использования в запросе.
Простое имя столбца не имеет префикса.
| public строка quoteSimpleColumnName ( $name ) | ||
|---|---|---|
| $name | строка |
Имя столбца |
| return | строка |
Правильно приведенное имя столбца |
quoteSimpleTableName() public метод
Приводит имя таблицы в соответствие для использования в запросе.
Простое имя таблицы не имеет префикса схемы.
| public строка quoteSimpleTableName ( $name ) | ||
|---|---|---|
| $name | строка |
Имя таблицы |
| return | строка |
Правильно приведенное имя таблицы |
setTransactionIsolationLevel() public метод
Устанавливает уровень изоляции текущей транзакции.
См. также http://www.sqlite.org/pragma.html#pragma_read_uncommitted.
| public void setTransactionIsolationLevel ( $level ) | ||
|---|---|---|
| $level | строка |
Уровень изоляции транзакции, используемый для данной транзакции. Может быть либо yii\db\Transaction::READ_UNCOMMITTED, либо yii\db\Transaction::SERIALIZABLE. |
| throws | yii\base\NotSupportedException |
если используются недопустимые уровни изоляции. SQLite поддерживает только SERIALIZABLE и READ UNCOMMITTED. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-db-sqlite-schema.html