Класс yii\db\mssql\Schema
| Наследование | yii\db\mssql\Schema » yii\db\Schema » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Использует трейты | yii\db\ViewFinderTrait |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/db/mssql/Schema.php |
Класс Schema предназначен для получения метаданных из баз данных MS SQL Server (версия 2008 и выше).
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $columnSchemaClass | string | Класс схемы столбцов | yii\db\Schema |
| $db | yii\db\Connection | Подключение к базе данных | yii\db\Schema |
| $defaultSchema | string | Схема по умолчанию, используемая для текущей сессии. | yii\db\mssql\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 |
| $typeMap | array | Сопоставление физических типов столбцов (ключи) с абстрактными типами столбцов (значения) | yii\db\mssql\Schema |
| $viewNames | string[] | Все имена представлений в базе данных. | yii\db\ViewFinderTrait |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __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() | Преобразует исключение базы данных в более конкретное, если это возможно. | yii\db\Schema |
| createColumnSchemaBuilder() | Создает экземпляр создателя схемы столбца, задавая тип и точность значения. | yii\db\Schema |
| createQueryBuilder() | Создает билдер запросов для базы данных MSSQL. | yii\db\mssql\Schema |
| createSavepoint() | Создаёт новую точку сохранения. | yii\db\mssql\Schema |
| findUniqueIndexes() | Возвращает все уникальные индексы для данной таблицы. | yii\db\mssql\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 |
| getViewNames() | Возвращает все имена представлений в базе данных. | yii\db\ViewFinderTrait |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| insert() | Выполняет команду INSERT, возвращая значения первичного ключа. | yii\db\Schema |
| isReadQuery() | Возвращает значение, указывающее, предназначен ли SQL-запрос для чтения. | yii\db\Schema |
| loadTableSchema() | Загружает метаданные для указанной таблицы. | yii\db\mssql\Schema |
| quoteColumnName() | Приводит имя столбца в кавычки для использования в запросе. | yii\db\Schema |
| quoteSimpleColumnName() | Приводит имя столбца в кавычки для использования в запросе. | yii\db\mssql\Schema |
| quoteSimpleTableName() | Приводит имя таблицы в кавычки для использования в запросе. | yii\db\mssql\Schema |
| quoteTableName() | Приводит имя таблицы в кавычки для использования в запросе. | yii\db\Schema |
| quoteValue() | Приводит строковое значение в кавычки для использования в запросе. | yii\db\Schema |
| refresh() | Обновляет схему. | yii\db\Schema |
| refreshTableSchema() | Обновляет схему конкретной таблицы. | yii\db\Schema |
| releaseSavepoint() | Освобождает существующую точку сохранения. | yii\db\mssql\Schema |
| rollBackSavepoint() | Откатывает транзакцию к ранее созданной точке сохранения. | yii\db\mssql\Schema |
| setTransactionIsolationLevel() | Устанавливает уровень изоляции текущей транзакции. | yii\db\Schema |
| supportsSavepoint() | yii\db\Schema |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| createColumnSchema() | yii\db\Schema | |
| findColumns() | Собирает метаданные столбцов таблицы. | yii\db\mssql\Schema |
| findForeignKeys() | Собирает данные о столбцах внешних ключей для заданной таблицы. | yii\db\mssql\Schema |
| findPrimaryKeys() | Собирает данные о столбцах первичных ключей для заданной таблицы. | yii\db\mssql\Schema |
| findSchemaNames() | Возвращает все имена схем в базе данных, включая системную, но без системных схем. | yii\db\Schema |
| findTableConstraints() | Собирает данные о ограничениях для заданной таблицы и типа ограничения. | yii\db\mssql\Schema |
| findTableNames() | Возвращает все имена таблиц в базе данных. | yii\db\mssql\Schema |
| findViewNames() | yii\db\mssql\Schema | |
| getCacheKey() | Возвращает ключ кэша для указанного имени таблицы. | yii\db\Schema |
| getCacheTag() | Возвращает имя тега кэша. | yii\db\Schema |
| getColumnPhpType() | Извлекает тип PHP из абстрактного типа БД. | yii\db\Schema |
| loadColumnSchema() | Загружает информацию о столбце в объект yii\db\ColumnSchema. | yii\db\mssql\Schema |
| resolveTableNames() | Разрешает имя таблицы и имя схемы (если есть). | yii\db\mssql\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 |
Подробное описание свойств
$defaultSchema общедоступное свойство
Схема по умолчанию, используемая для текущего сеанса.
public string $defaultSchema = 'dbo'
$typeMap общедоступное свойство
Сопоставление физических типов столбцов (ключи) с абстрактными типами столбцов (значения)
public array $typeMap = ['bigint' => self::TYPE_BIGINT, 'numeric' => self::TYPE_DECIMAL, 'bit' => self::TYPE_SMALLINT, 'smallint' => self::TYPE_SMALLINT, 'decimal' => self::TYPE_DECIMAL, 'smallmoney' => self::TYPE_MONEY, 'int' => self::TYPE_INTEGER, 'tinyint' => self::TYPE_SMALLINT, 'money' => self::TYPE_MONEY, 'float' => self::TYPE_FLOAT, 'double' => self::TYPE_DOUBLE, 'real' => self::TYPE_FLOAT, 'date' => self::TYPE_DATE, 'datetimeoffset' => self::TYPE_DATETIME, 'datetime2' => self::TYPE_DATETIME, 'smalldatetime' => self::TYPE_DATETIME, 'datetime' => self::TYPE_DATETIME, 'time' => self::TYPE_TIME, 'char' => self::TYPE_CHAR, 'varchar' => self::TYPE_STRING, 'text' => self::TYPE_TEXT, 'nchar' => self::TYPE_CHAR, 'nvarchar' => self::TYPE_STRING, 'ntext' => self::TYPE_TEXT, 'binary' => self::TYPE_BINARY, 'varbinary' => self::TYPE_BINARY, 'image' => self::TYPE_BINARY, 'timestamp' => self::TYPE_TIMESTAMP, 'hierarchyid' => self::TYPE_STRING, 'uniqueidentifier' => self::TYPE_STRING, 'sql_variant' => self::TYPE_STRING, 'xml' => self::TYPE_STRING, 'table' => self::TYPE_STRING]
Подробное описание методов
createQueryBuilder() public method
Создаёт билдер запросов для базы данных MSSQL.
| public yii\db\mssql\QueryBuilder createQueryBuilder ( ) | ||
|---|---|---|
| return | yii\db\mssql\QueryBuilder |
Интерфейс билдера запросов. |
createSavepoint() public method
Создаёт новую точку сохранения.
| public void createSavepoint ( $name ) | ||
|---|---|---|
| $name | string |
Имя точки сохранения |
findColumns() protected method
Сбор метаданных столбцов таблицы.
| protected boolean findColumns ( $table ) | ||
|---|---|---|
| $table | yii\db\mssql\TableSchema |
Метаданные таблицы |
| return | boolean |
Существует ли таблица в базе данных |
findForeignKeys() protected method
Сбор данных о внешних ключах для заданной таблицы.
| protected void findForeignKeys ( $table ) | ||
|---|---|---|
| $table | yii\db\mssql\TableSchema |
Метаданные таблицы |
findPrimaryKeys() protected method
Сбор данных о первичных ключах для заданной таблицы.
| protected void findPrimaryKeys ( $table ) | ||
|---|---|---|
| $table | yii\db\mssql\TableSchema |
Метаданные таблицы |
findTableConstraints() protected method (available since version 2.0.4)
Сбор данных о ограничениях для заданной таблицы и типа ограничения.
| protected array findTableConstraints ( $table, $type ) | ||
|---|---|---|
| $table | yii\db\mssql\TableSchema | |
| $type | string |
Либо PRIMARY KEY, либо UNIQUE |
| return | array |
Каждый элемент содержит index_name и field_name |
findTableNames() protected method
Возвращает все имена таблиц в базе данных.
| protected array findTableNames ( $schema = '' ) | ||
|---|---|---|
| $schema | string |
Схема таблиц. По умолчанию пустая строка, что означает текущую или по умолчанию схему. |
| return | array |
Все имена таблиц в базе данных. Имена НЕ содержат префикса имени схемы. |
findUniqueIndexes() public method (available since version 2.0.4)
Возвращает все уникальные индексы для заданной таблицы.
Каждый элемент массива имеет следующий структуру:
[
'IndexName1' => ['col1' [, ...]],
'IndexName2' => ['col2' [, ...]],
]
| public array findUniqueIndexes ( $table ) | ||
|---|---|---|
| $table | yii\db\mssql\TableSchema |
Метаданные таблицы |
| return | array |
Все уникальные индексы для заданной таблицы. |
findViewNames() protected method
| protected void findViewNames ( $schema = '' ) | ||
|---|---|---|
| $schema | ||
loadColumnSchema() protected method
Загружает информацию о столбцах в объект yii\db\ColumnSchema.
| protected yii\db\ColumnSchema loadColumnSchema ( $info ) | ||
|---|---|---|
| $info | array |
Информация о столбце |
| return | yii\db\ColumnSchema |
Объект схемы столбца |
loadTableSchema() public method
Загружает метаданные для указанной таблицы.
| public yii\db\mssql\TableSchema|null loadTableSchema ( $name ) | ||
|---|---|---|
| $name | string |
Имя таблицы |
| return | yii\db\mssql\TableSchema|null |
Метаданные таблицы, зависящие от драйвера. Null, если таблица не существует. |
quoteSimpleColumnName() public method
Приводит имя столбца в цитируемый вид для использования в запросе.
Простое имя столбца не имеет префикса.
| public string quoteSimpleColumnName ( $name ) | ||
|---|---|---|
| $name | string |
Имя столбца. |
| return | string |
Правильно цитируемое имя столбца. |
quoteSimpleTableName() public method
Приводит имя таблицы в цитируемый вид для использования в запросе.
Простое имя таблицы не имеет префикса схемы.
| public string quoteSimpleTableName ( $name ) | ||
|---|---|---|
| $name | string |
Имя таблицы. |
| return | string |
Правильно цитируемое имя таблицы. |
releaseSavepoint() public method
Освобождает существующую точку сохранения.
| public void releaseSavepoint ( $name ) | ||
|---|---|---|
| $name | string |
Имя точки сохранения |
resolveTableNames() protected method
Разрешает имя таблицы и имя схемы (если есть).
| protected void resolveTableNames ( $table, $name ) | ||
|---|---|---|
| $table | yii\db\mssql\TableSchema |
Объект метаданных таблицы |
| $name | string |
Имя таблицы |
rollBackSavepoint() public method
Откатывает к ранее созданной точке сохранения.
| public void rollBackSavepoint ( $name ) | ||
|---|---|---|
| $name | string |
Имя точки сохранения |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-db-mssql-schema.html