Класс yii\db\mysql\Schema
| Наследование | yii\db\mysql\Schema » yii\db\Schema » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступна с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/db/mysql/Schema.php |
Класс Schema предназначен для извлечения метаданных из базы данных MySQL (версии 4.1.x и 5.x).
Общедоступные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $columnSchemaClass | строка | Класс схемы столбца | yii\db\Schema |
| $db | yii\db\Connection | Подключение к базе данных | yii\db\Schema |
| $defaultSchema | строка | Имя схемы по умолчанию, используемое для текущей сессии. | yii\db\Schema |
| $exceptionMap | массив | Маппинг ошибок БД и соответствующих исключений. Если левая часть найдена в сообщении об ошибке БД, используется класс исключения из правой части. | yii\db\Schema |
| $lastInsertID | строка | Идентификатор последней вставленной строки или последнее значение, полученное из объекта последовательности | yii\db\Schema |
| $queryBuilder | yii\db\QueryBuilder | Построитель запросов для этого подключения. | yii\db\Schema |
| $schemaNames | строка[] | Все имена схем в базе данных, за исключением системных схем. | yii\db\Schema |
| $tableNames | строка[] | Все имена таблиц в базе данных. | yii\db\Schema |
| $tableSchemas | yii\db\TableSchema[] | Метаданные для всех таблиц в базе данных. | yii\db\Schema |
| $transactionIsolationLevel | строка | Уровень изоляции транзакции, используемый для этой транзакции. | yii\db\Schema |
| $typeMap | массив | Маппинг физических типов столбцов (ключи) к абстрактным типам столбцов (значения) | yii\db\mysql\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\mysql\Schema |
| createQueryBuilder() | Создает билдер запросов для базы данных MySQL. | yii\db\mysql\Schema |
| createSavepoint() | Создает новую точку сохранения. | yii\db\Schema |
| findUniqueIndexes() | Возвращает все уникальные индексы для заданной таблицы. | yii\db\mysql\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\mysql\Schema |
| quoteSimpleTableName() | Приводит имя таблицы в кавычки для использования в запросе. | yii\db\mysql\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 |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| createColumnSchema() | yii\db\Schema | |
| findColumns() | Сбор метаданных столбцов таблицы. | yii\db\mysql\Schema |
| findConstraints() | Сбор данных о столбцах внешних ключей для заданной таблицы. | yii\db\mysql\Schema |
| findSchemaNames() | Возвращает все имена схем в базе данных, включая стандартное, но не системные схемы. | yii\db\Schema |
| findTableNames() | Возвращает все имена таблиц в базе данных. | yii\db\mysql\Schema |
| getCacheKey() | Возвращает ключ кэша для указанного имени таблицы. | yii\db\Schema |
| getCacheTag() | Возвращает имя тега кэша. | yii\db\Schema |
| getColumnPhpType() | Извлекает тип PHP из абстрактного типа DB. | yii\db\Schema |
| getCreateTableSql() | Получает строку SQL CREATE TABLE. | yii\db\mysql\Schema |
| loadColumnSchema() | Загружает информацию о столбце в объект yii\db\ColumnSchema. | yii\db\mysql\Schema |
| loadTableSchema() | Загружает метаданные для указанной таблицы. | yii\db\mysql\Schema |
| resolveTableNames() | Разрешает имя таблицы и имя схемы (если таковое имеется). | yii\db\mysql\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 |
Подробное описание свойств
$typeMap общедоступное свойство
Сопоставление физических типов столбцов (ключи) с абстрактными типами столбцов (значения)
public array $typeMap = ['tinyint' => self::TYPE_SMALLINT, 'bit' => self::TYPE_INTEGER, '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, 'longblob' => self::TYPE_BINARY, 'blob' => self::TYPE_BINARY, 'text' => self::TYPE_TEXT, 'varchar' => self::TYPE_STRING, 'string' => self::TYPE_STRING, 'char' => self::TYPE_CHAR, 'datetime' => self::TYPE_DATETIME, 'year' => self::TYPE_DATE, 'date' => self::TYPE_DATE, 'time' => self::TYPE_TIME, 'timestamp' => self::TYPE_TIMESTAMP, 'enum' => self::TYPE_STRING, 'varbinary' => self::TYPE_BINARY]
Подробное описание методов
createColumnSchemaBuilder() общедоступный метод
Создать экземпляр билдера схемы столбца, задав тип и точность значения.
Этот метод может быть переопределён дочерними классами для создания билдера схемы столбца, специфичного для СУБД.
| общедоступный yii\db\ColumnSchemaBuilder createColumnSchemaBuilder ( $type, $length = null ) | ||
|---|---|---|
| $type | строка |
Тип столбца. См. yii\db\mysql\ColumnSchemaBuilder::$type. |
| $length | целое число|строка|массив |
Длина или точность столбца. См. yii\db\mysql\ColumnSchemaBuilder::$length. |
| возвращает | yii\db\ColumnSchemaBuilder |
Экземпляр билдера схемы столбца |
createQueryBuilder() общедоступный метод
Создаёт билдер запросов для базы данных MySQL.
| общедоступный yii\db\mysql\QueryBuilder createQueryBuilder ( ) | ||
|---|---|---|
| возвращает | yii\db\mysql\QueryBuilder |
Экземпляр билдера запросов |
findColumns() защищённый метод
Сбор метаданных о столбцах таблицы.
| защищённый булево findColumns ( $table ) | ||
|---|---|---|
| $table | yii\db\TableSchema |
Метаданные о таблице |
| возвращает | булево |
Существует ли таблица в базе данных |
| бросает | Исключение |
если запрос к БД завершился ошибкой |
findConstraints() защищённый метод
Сбор подробностей о столбцах внешних ключей для заданной таблицы.
| защищённый void findConstraints ( $table ) | ||
|---|---|---|
| $table | yii\db\TableSchema |
Метаданные о таблице |
| бросает | Исключение | |
findTableNames() защищённый метод
Возвращает все имена таблиц в базе данных.
| защищённый массив findTableNames ( $schema = '' ) | ||
|---|---|---|
| $schema | строка |
Схема таблиц. По умолчанию пустая строка, означающая текущую или по умолчанию схему. |
| возвращает | массив |
Все имена таблиц в базе данных. Имена не содержат префикса имени схемы. |
findUniqueIndexes() общедоступный метод
Возвращает все уникальные индексы для заданной таблицы.
Каждый элемент массива имеет следующий структуру:
[
'IndexName1' => ['col1' [, ...]],
'IndexName2' => ['col2' [, ...]],
]
| общедоступный массив findUniqueIndexes ( $table ) | ||
|---|---|---|
| $table | yii\db\TableSchema |
Метаданные о таблице |
| возвращает | массив |
Все уникальные индексы для данной таблицы. |
getCreateTableSql() защищённый метод
Получает строку SQL CREATE TABLE.
| защищённый строка getCreateTableSql ( $table ) | ||
|---|---|---|
| $table | yii\db\TableSchema |
Метаданные о таблице |
| возвращает | строка |
$sql результат 'SHOW CREATE TABLE' |
loadColumnSchema() защищённый метод
Загружает информацию о столбцах в объект yii\db\ColumnSchema.
| защищённый yii\db\ColumnSchema loadColumnSchema ( $info ) | ||
|---|---|---|
| $info | массив |
Информация о столбце |
| возвращает | yii\db\ColumnSchema |
Объект схемы столбца |
loadTableSchema() защищённый метод
Загружает метаданные для указанной таблицы.
| защищённый yii\db\TableSchema loadTableSchema ( $name ) | ||
|---|---|---|
| $name | строка |
Имя таблицы |
| возвращает | yii\db\TableSchema |
Зависимые от драйвера метаданные о таблице. Нулевое значение, если таблица не существует. |
quoteSimpleColumnName() общедоступный метод
Приводит имя столбца в соответствие для использования в запросе.
Простое имя столбца не имеет префикса.
| общедоступный строка quoteSimpleColumnName ( $name ) | ||
|---|---|---|
| $name | строка |
Имя столбца |
| возвращает | строка |
Правильно приведённое имя столбца |
quoteSimpleTableName() общедоступный метод
Приводит имя таблицы в соответствие для использования в запросе.
Простое имя таблицы не имеет префикса схемы.
| общедоступный строка quoteSimpleTableName ( $name ) | ||
|---|---|---|
| $name | строка |
Имя таблицы |
| возвращает | строка |
Правильно приведённое имя таблицы |
resolveTableNames() защищённый метод
Разрешает имя таблицы и имя схемы (если есть).
| защищённый void resolveTableNames ( $table, $name ) | ||
|---|---|---|
| $table | yii\db\TableSchema |
Объект метаданных о таблице |
| $name | строка |
Имя таблицы |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-db-mysql-schema.html