Spec-Zone.ru › Yii 2.0

Абстрактный класс yii\db\Schema

Все классы | Свойства | Методы | Константы
Наследование yii\db\Schema » yii\base\Object
Реализует yii\base\Configurable
Подклассы yii\db\cubrid\Schema, yii\db\mssql\Schema, yii\db\mysql\Schema, yii\db\oci\Schema, yii\db\pgsql\Schema, yii\db\sqlite\Schema
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/db/Schema.php

Schema — базовый класс для конкретных классов схемы, специфичных для СУБД.

Schema представляет информацию о схеме базы данных, специфичную для СУБД.

Публичные свойства

Свойство Тип Описание Определено в
$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\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\Schema
createQueryBuilder() Создает конструктор запросов для базы данных. yii\db\Schema
createSavepoint() Создает новую точку сохранения. yii\db\Schema
findUniqueIndexes() Возвращает все уникальные индексы для указанной таблицы. yii\db\Schema
getLastInsertID() Возвращает идентификатор последней вставленной строки или значения последовательности. 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\Schema
quoteSimpleTableName() Приводит простое имя таблицы в кавычки для использования в запросе. yii\db\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\Schema
supportsSavepoint() yii\db\Schema

Методы protected

Метод Описание Определено в
createColumnSchema() yii\db\Schema
findSchemaNames() Возвращает все имена схем в базе данных, включая значение по умолчанию, но не системные схемы. yii\db\Schema
findTableNames() Возвращает все имена таблиц в базе данных. yii\db\Schema
getCacheKey() Возвращает ключ кеша для заданного имени таблицы. yii\db\Schema
getCacheTag() Возвращает имя тега кеша. yii\db\Schema
getColumnPhpType() Извлекает тип PHP из абстрактного типа DB. yii\db\Schema
loadTableSchema() Загружает метаданные для указанной таблицы. yii\db\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

Подробное описание свойств

$columnSchemaClass общедоступное свойство (доступно начиная с версии 2.0.11)

Класс схемы столбца

public string $columnSchemaClass = 'yii\db\ColumnSchema'

$db общедоступное свойство

Подключение к базе данных

public yii\db\Connection $db = null

$defaultSchema общедоступное свойство

Имя схемы по умолчанию, используемое для текущей сессии.

public string $defaultSchema = null

$exceptionMap общедоступное свойство

Отображение ошибок БД и соответствующих исключений. Если левая часть найдена в сообщении об ошибке БД, используется класс исключения из правой части.

public array $exceptionMap = ['SQLSTATE[23' => 'yii\db\IntegrityException']

$lastInsertID общедоступное только для чтения свойство

Идентификатор строки последней вставленной строки или последнее значение, полученное из объекта последовательности

public string getLastInsertID ( $sequenceName = '' )

$queryBuilder общедоступное только для чтения свойство

Построитель запросов для этого подключения.

public yii\db\QueryBuilder getQueryBuilder ( )

$schemaNames общедоступное только для чтения свойство

Все имена схем в базе данных, за исключением системных схем.

public string[] getSchemaNames ( $refresh = false )

$tableNames общедоступное только для чтения свойство

Все имена таблиц в базе данных.

public string[] getTableNames ( $schema = '', $refresh = false )

$tableSchemas общедоступное только для чтения свойство

Метаданные для всех таблиц в базе данных. Каждый элемент массива — экземпляр yii\db\TableSchema или его производного класса.

public yii\db\TableSchema[] getTableSchemas ( $schema = '', $refresh = false )

$transactionIsolationLevel общедоступное свойство только для записи

Уровень изоляции транзакции для использования в этой транзакции. Может быть одним из значений yii\db\Transaction::READ_UNCOMMITTED, yii\db\Transaction::READ_COMMITTED, yii\db\Transaction::REPEATABLE_READ и yii\db\Transaction::SERIALIZABLE, а также строкой, содержащей синтаксис, специфичный для СУБД, который будет использоваться после SET TRANSACTION ISOLATION LEVEL.

public void setTransactionIsolationLevel ( $level )

Подробное описание методов

convertException() public method

Преобразует исключение DB в более конкретное, если это возможно.

public yii\db\Exception convertException ( Exception $e, $rawSql )
$e Exception
$rawSql string

SQL, вызвавший исключение

createColumnSchema() protected method

protected yii\db\ColumnSchema createColumnSchema ( )
throws yii\base\InvalidConfigException

createColumnSchemaBuilder() public method (available since version 2.0.6)

Создает экземпляр билдера схемы столбца, задавая тип и точность значения.

Этот метод может быть переопределен дочерними классами для создания билдера схемы столбца, специфичного для СУБД.

public yii\db\ColumnSchemaBuilder createColumnSchemaBuilder ( $type, $length = null )
$type string

Тип столбца. См. yii\db\ColumnSchemaBuilder::$type.

$length integer|string|array

Длина или точность столбца. См. yii\db\ColumnSchemaBuilder::$length.

return yii\db\ColumnSchemaBuilder

Экземпляр билдера схемы столбца

createQueryBuilder() public method

Создает билдер запросов для базы данных.

Этот метод может быть переопределен дочерними классами для создания билдера запросов, специфичного для СУБД.

public yii\db\QueryBuilder createQueryBuilder ( )
return yii\db\QueryBuilder

Экземпляр билдера запросов

createSavepoint() public method

Создает новую точку сохранения.

public void createSavepoint ( $name )
$name string

Имя точки сохранения

findSchemaNames() protected method (available since version 2.0.4)

Возвращает все имена схем в базе данных, включая стандартную, но не системные схемы.

Этот метод следует переопределить в дочерних классах для поддержки этой функции, потому что по умолчанию он просто выбрасывает исключение.

protected array findSchemaNames ( )
return array

Все имена схем в базе данных, за исключением системных схем

throws yii\base\NotSupportedException

если этот метод вызван

findTableNames() protected method

Возвращает все имена таблиц в базе данных.

Этот метод следует переопределить в дочерних классах для поддержки этой функции, потому что по умолчанию он просто выбрасывает исключение.

protected array findTableNames ( $schema = '' )
$schema string

Схема таблиц. По умолчанию пустая строка, что означает текущую или стандартную схему.

return array

Все имена таблиц в базе данных. Имена не имеют префикса имени схемы.

throws yii\base\NotSupportedException

если этот метод вызван

findUniqueIndexes() public method

Возвращает все уникальные индексы для данной таблицы.

Каждый элемент массива имеет следующий структуру:

[
 'IndexName1' => ['col1' [, ...]],
 'IndexName2' => ['col2' [, ...]],
]

Этот метод следует переопределить в дочерних классах для поддержки этой функции, потому что по умолчанию он просто выбрасывает исключение

public array findUniqueIndexes ( $table )
$table yii\db\TableSchema

Метаданные таблицы

return array

Все уникальные индексы для данной таблицы.

throws yii\base\NotSupportedException

если этот метод вызван

getCacheKey() protected method

Возвращает ключ кэша для указанного имени таблицы.

protected mixed getCacheKey ( $name )
$name string

Имя таблицы

return mixed

Ключ кэша

getCacheTag() protected method

Возвращает имя тега кэша.

Это позволяет refresh() аннулировать все кэшированные схемы таблиц.

protected string getCacheTag ( )
return string

Имя тега кэша

getColumnPhpType() protected method

Извлекает тип PHP из абстрактного типа DB.

protected string getColumnPhpType ( $column )
$column yii\db\ColumnSchema

Информация о схеме столбца

return string

Имя типа PHP

getLastInsertID() public method

Возвращает ID последней вставленной строки или последовательности значений.

См. также http://www.php.net/manual/en/function.PDO-lastInsertId.php.

public string getLastInsertID ( $sequenceName = '' )
$sequenceName string

Имя объекта последовательности (необходимо для некоторых СУБД)

return string

Идентификатор строки последней вставленной строки или последнее значение, полученное из объекта последовательности

throws yii\base\InvalidCallException

если соединение с БД не активно

getPdoType() public method

Определяет тип PDO для данного значения данных PHP.

См. также http://www.php.net/manual/en/pdo.constants.php.

public integer getPdoType ( $data )
$data mixed

Данные, для которых нужно определить тип PDO

return integer

Тип PDO

getQueryBuilder() public method

public yii\db\QueryBuilder getQueryBuilder ( )
return yii\db\QueryBuilder

Билдер запросов для этого подключения.

getRawTableName() public method

Возвращает фактическое имя данной таблицы.

Этот метод удалит фигурные скобки из заданного имени таблицы и заменит символ процента '%' на yii\db\Connection::$tablePrefix.

public string getRawTableName ( $name )
$name string

Имя таблицы, подлежащее преобразованию

return string

Фактическое имя заданной таблицы

getSchemaNames() public method (available since version 2.0.4)

Возвращает все имена схем базы данных, кроме системных.

public string[] getSchemaNames ( $refresh = false )
$refresh boolean

Указывает, нужно ли получить самые последние доступные имена схем. Если false, возвращаются имена схем, полученные ранее (если доступны).

return string[]

Все имена схем базы данных, кроме системных.

getTableNames() public method

Возвращает все имена таблиц в базе данных.

public string[] getTableNames ( $schema = '', $refresh = false )
$schema string

Схема таблиц. По умолчанию пустая строка, что означает текущую или схему по умолчанию. Если не пусто, возвращаемые имена таблиц будут иметь префикс имени схемы.

$refresh boolean

Указывает, нужно ли получить самые последние доступные имена таблиц. Если false, возвращаются имена таблиц, полученные ранее (если доступны).

return string[]

Все имена таблиц в базе данных.

getTableSchema() public method

Получает метаданные для указанной таблицы.

public null|yii\db\TableSchema getTableSchema ( $name, $refresh = false )
$name string

Имя таблицы. Имя таблицы может содержать имя схемы, если таковое имеется. Не используйте кавычки для имени таблицы.

$refresh boolean

Указывает, нужно ли перезагрузить схему таблицы, даже если она найдена в кэше.

return null|yii\db\TableSchema

Метаданные таблицы. Нуль, если указанная таблица не существует.

getTableSchemas() public method

Возвращает метаданные для всех таблиц в базе данных.

public yii\db\TableSchema[] getTableSchemas ( $schema = '', $refresh = false )
$schema string

Схема таблиц. По умолчанию пустая строка, что означает текущую или схему по умолчанию.

$refresh boolean

Указывает, нужно ли получить самые последние доступные схемы таблиц. Если false, могут быть возвращены данные из кэша, если они доступны.

return yii\db\TableSchema[]

Метаданные для всех таблиц в базе данных. Каждый элемент массива — экземпляр yii\db\TableSchema или его производного класса.

insert() public method (available since version 2.0.4)

Выполняет команду INSERT, возвращая значения первичных ключей.

public array|false insert ( $table, $columns )
$table string

Таблица, в которую будут добавлены новые строки.

$columns array

Данные столбцов (имя => значение) для вставки в таблицу.

return array|false

Значения первичных ключей или false, если команда завершилась неудачно

isReadQuery() public method

Возвращает значение, указывающее, предназначен ли SQL-запрос для чтения.

public boolean isReadQuery ( $sql )
$sql string

SQL-запрос

return boolean

Является ли SQL-запрос запросом на чтение.

loadTableSchema() protected abstract method

Загружает метаданные для указанной таблицы.

protected abstract null|yii\db\TableSchema loadTableSchema ( $name )
$name string

Имя таблицы

return null|yii\db\TableSchema

Зависимые от СУБД метаданные таблицы, null, если таблица не существует.

quoteColumnName() public method

Приводит имя столбца к виду, пригодного для использования в запросе.

Если имя столбца содержит префикс, префикс также будет должным образом приведен к виду, пригодного для запроса. Если имя столбца уже находится в кавычках или содержит '(', '[[' или '{{', этот метод ничего не сделает.

См. также quoteSimpleColumnName().

public string quoteColumnName ( $name )
$name string

Имя столбца

return string

Правильно приведенное к виду имя столбца

quoteSimpleColumnName() public method

Приводит простое имя столбца к виду, пригодного для использования в запросе.

Простое имя столбца должно содержать только имя столбца без префикса. Если имя столбца уже находится в кавычках или является символом звёздочка '*', этот метод ничего не сделает.

public string quoteSimpleColumnName ( $name )
$name string

Имя столбца

return string

Правильно приведенное к виду имя столбца

quoteSimpleTableName() public method

Приводит простое имя таблицы к виду, пригодного для использования в запросе.

Простое имя таблицы должно содержать только имя таблицы без префикса схемы. Если имя таблицы уже находится в кавычках, этот метод ничего не сделает.

public string quoteSimpleTableName ( $name )
$name string

Имя таблицы

return string

Правильно приведенное к виду имя таблицы

quoteTableName() public method

Приводит имя таблицы к виду, пригодного для использования в запросе.

Если имя таблицы содержит префикс схемы, префикс также будет должным образом приведен к виду, пригодного для запроса. Если имя таблицы уже находится в кавычках или содержит '(' или '{{', этот метод ничего не сделает.

См. также quoteSimpleTableName().

public string quoteTableName ( $name )
$name string

Имя таблицы

return string

Правильно приведенное к виду имя таблицы

quoteValue() public method

Приводит строковое значение к виду, пригодного для использования в запросе.

Обратите внимание, что если параметр не является строкой, он будет возвращен без изменений.

См. также http://www.php.net/manual/en/function.PDO-quote.php.

public string quoteValue ( $str )
$str string

Строка для приведения к виду, пригодного для запроса

return string

Правильно приведенная к виду строка

refresh() public method

Обновляет схему.

Этот метод очищает все кэшированные схемы таблиц, чтобы их можно было пересоздать позже для отражения изменений в структуре базы данных.

public void refresh ( )

refreshTableSchema() public method (available since version 2.0.6)

Обновляет схему конкретной таблицы.

Этот метод очищает кэш схемы таблиц, чтобы его можно было повторно создать позже для отражения изменений схемы базы данных.

public void refreshTableSchema ( $name )
$name string

Имя таблицы.

releaseSavepoint() public method

Освобождает существующую точку сохранения.

public void releaseSavepoint ( $name )
$name string

Имя точки сохранения

rollBackSavepoint() public method

Откатывает транзакцию до ранее созданной точки сохранения.

public void rollBackSavepoint ( $name )
$name string

Имя точки сохранения

setTransactionIsolationLevel() public method

Устанавливает уровень изоляции текущей транзакции.

См. также http://en.wikipedia.org/wiki/Isolation_(database_systems)#Isolation_levels.

public void setTransactionIsolationLevel ( $level )
$level string

Уровень изоляции транзакции для этой транзакции. Может быть одним из значений yii\db\Transaction::READ_UNCOMMITTED, yii\db\Transaction::READ_COMMITTED, yii\db\Transaction::REPEATABLE_READ и yii\db\Transaction::SERIALIZABLE, а также строкой, содержащей синтаксис, специфичный для СУБД, который необходимо использовать после SET TRANSACTION ISOLATION LEVEL.

supportsSavepoint() public method

public boolean supportsSavepoint ( )
return boolean

Поддерживает ли эта СУБД точки сохранения.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-db-schema.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API