Class yii\db\cubrid\Schema
Schema 是用于从 CUBRID 数据库(版本要求 version 9.3.x 以及更高)检索元数据的类。
公共属性
| 属性 | 类型 | 描述 | 被定义在 |
|---|---|---|---|
| $columnSchemaClass | string|array | Column schema class or class config | yii\db\Schema |
| $db | yii\db\Connection | The database connection | yii\db\Schema |
| $defaultSchema | string | The default schema name used for the current session. | yii\db\Schema |
| $exceptionMap | array | DB 错误和相应异常的映射 如果在 DB 错误消息中找到左侧部分,则使用右侧部分的异常类。 | yii\db\cubrid\Schema |
| $lastInsertID | string | The row ID of the last row inserted, or the last value retrieved from the sequence object | yii\db\Schema |
| $queryBuilder | yii\db\QueryBuilder | The query builder for this connection. | yii\db\Schema |
| $schemaChecks | \yii\db\CheckConstraint[][] | Check constraints for all tables in the database. | yii\db\ConstraintFinderTrait |
| $schemaDefaultValues | yii\db\DefaultValueConstraint[] | Default value constraints for all tables in the database. | yii\db\ConstraintFinderTrait |
| $schemaForeignKeys | \yii\db\ForeignKeyConstraint[][] | Foreign keys for all tables in the database. | yii\db\ConstraintFinderTrait |
| $schemaIndexes | \yii\db\IndexConstraint[][] | Indexes for all tables in the database. | yii\db\ConstraintFinderTrait |
| $schemaNames | string[] | All schema names in the database, except system schemas. | yii\db\Schema |
| $schemaPrimaryKeys | yii\db\Constraint[] | Primary keys for all tables in the database. | yii\db\ConstraintFinderTrait |
| $schemaUniques | \yii\db\Constraint[][] | Unique constraints for all tables in the database. | yii\db\ConstraintFinderTrait |
| $serverVersion | string | Server version as a string. | yii\db\Schema |
| $tableNames | string[] | All table names in the database. | yii\db\Schema |
| $tableSchemas | yii\db\TableSchema[] | The metadata for all tables in the database. | yii\db\Schema |
| $transactionIsolationLevel | string | The transaction isolation level to use for this transaction. | yii\db\cubrid\Schema |
| $typeMap | array | 从物理列类型(键)映射到抽象列类型(值) 有关数据类型的详细信息, 请查阅 [CUBRID 手册](http://www. | yii\db\cubrid\Schema |
受保护的属性
| 属性 | 类型 | 描述 | 被定义在 |
|---|---|---|---|
| $columnQuoteCharacter | string|string[] | Character used to quote column names. | yii\db\Schema |
| $tableQuoteCharacter | string|string[] | Character used to quote schema, table, etc. | yii\db\cubrid\Schema |
公共方法
| 方法 | 描述 | 被定义在 |
|---|---|---|
| __call() | Calls the named method which is not a class method. | yii\base\BaseObject |
| __construct() | Constructor. | yii\base\BaseObject |
| __get() | Returns the value of an object property. | yii\base\BaseObject |
| __isset() | Checks if a property is set, i.e. defined and not null. | yii\base\BaseObject |
| __set() | Sets value of an object property. | yii\base\BaseObject |
| __unset() | Sets an object property to null. | yii\base\BaseObject |
| canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\BaseObject |
| canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\BaseObject |
| className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
| convertException() | Converts a DB exception to a more concrete one if possible. | yii\db\Schema |
| createColumnSchemaBuilder() | Create a column schema builder instance giving the type and value precision. | yii\db\cubrid\Schema |
| createQueryBuilder() | 创建 CUBRID 数据库查询构建器。 | yii\db\cubrid\Schema |
| createSavepoint() | Creates a new savepoint. | yii\db\Schema |
| findUniqueIndexes() | Returns all unique indexes for the given table. | yii\db\Schema |
| getLastInsertID() | Returns the ID of the last inserted row or sequence value. | yii\db\Schema |
| getPdoType() | 确定给定的 PHP 数据值的 PDO 类型。 | yii\db\cubrid\Schema |
| getQueryBuilder() | yii\db\Schema | |
| getRawTableName() | Returns the actual name of a given table name. | yii\db\Schema |
| getSchemaChecks() | Returns check constraints for all tables in the database. | yii\db\ConstraintFinderTrait |
| getSchemaDefaultValues() | Returns default value constraints for all tables in the database. | yii\db\ConstraintFinderTrait |
| getSchemaForeignKeys() | Returns foreign keys for all tables in the database. | yii\db\ConstraintFinderTrait |
| getSchemaIndexes() | Returns indexes for all tables in the database. | yii\db\ConstraintFinderTrait |
| getSchemaNames() | Returns all schema names in the database, except system schemas. | yii\db\Schema |
| getSchemaPrimaryKeys() | Returns primary keys for all tables in the database. | yii\db\ConstraintFinderTrait |
| getSchemaUniques() | Returns unique constraints for all tables in the database. | yii\db\ConstraintFinderTrait |
| getServerVersion() | Returns a server version as a string comparable by \version_compare(). | yii\db\Schema |
| getTableChecks() | Obtains the check constraints information for the named table. | yii\db\ConstraintFinderTrait |
| getTableDefaultValues() | Obtains the default value constraints information for the named table. | yii\db\ConstraintFinderTrait |
| getTableForeignKeys() | Obtains the foreign keys information for the named table. | yii\db\ConstraintFinderTrait |
| getTableIndexes() | Obtains the indexes information for the named table. | yii\db\ConstraintFinderTrait |
| getTableNames() | Returns all table names in the database. | yii\db\Schema |
| getTablePrimaryKey() | Obtains the primary key for the named table. | yii\db\ConstraintFinderTrait |
| getTableSchema() | Obtains the metadata for the named table. | yii\db\Schema |
| getTableSchemas() | Returns the metadata for all tables in the database. | yii\db\Schema |
| getTableUniques() | Obtains the unique constraints information for the named table. | yii\db\ConstraintFinderTrait |
| hasMethod() | Returns a value indicating whether a method is defined. | yii\base\BaseObject |
| hasProperty() | Returns a value indicating whether a property is defined. | yii\base\BaseObject |
| init() | Initializes the object. | yii\base\BaseObject |
| insert() | Executes the INSERT command, returning primary key values. | yii\db\Schema |
| isReadQuery() | Returns a value indicating whether a SQL statement is for read purpose. | yii\db\Schema |
| quoteColumnName() | Quotes a column name for use in a query. | yii\db\Schema |
| quoteSimpleColumnName() | Quotes a simple column name for use in a query. | yii\db\Schema |
| quoteSimpleTableName() | Quotes a simple table name for use in a query. | yii\db\Schema |
| quoteTableName() | Quotes a table name for use in a query. | yii\db\Schema |
| quoteValue() | Quotes a string value for use in a query. | yii\db\Schema |
| refresh() | Refreshes the schema. | yii\db\Schema |
| refreshTableSchema() | Refreshes the particular table schema. | yii\db\Schema |
| releaseSavepoint() | Releases an existing savepoint. | yii\db\cubrid\Schema |
| rollBackSavepoint() | Rolls back to a previously created savepoint. | yii\db\Schema |
| setTransactionIsolationLevel() | Sets the isolation level of the current transaction. | yii\db\cubrid\Schema |
| supportsSavepoint() | yii\db\Schema | |
| unquoteSimpleColumnName() | Unquotes a simple column name. | yii\db\Schema |
| unquoteSimpleTableName() | Unquotes a simple table name. | yii\db\Schema |
受保护的方法
| 方法 | 描述 | 被定义在 |
|---|---|---|
| createColumnSchema() | Creates a column schema for the database. | yii\db\Schema |
| findSchemaNames() | Returns all schema names in the database, including the default one but not system schemas. | yii\db\Schema |
| findTableNames() | Returns all table names in the database. | yii\db\cubrid\Schema |
| getCacheKey() | Returns the cache key for the specified table name. | yii\db\Schema |
| getCacheTag() | Returns the cache tag name. | yii\db\Schema |
| getColumnPhpType() | Extracts the PHP type from abstract DB type. | yii\db\Schema |
| getSchemaMetadata() | Returns the metadata of the given type for all tables in the given schema. | yii\db\ConstraintFinderTrait |
| getTableMetadata() | Returns the metadata of the given type for the given table. | yii\db\ConstraintFinderTrait |
| loadColumnSchema() | 将列信息加载到 \yii\db\cubrid\ColumnSchema 对象中。 | yii\db\cubrid\Schema |
| loadTableChecks() | yii\db\cubrid\Schema | |
| loadTableDefaultValues() | yii\db\cubrid\Schema | |
| loadTableForeignKeys() | yii\db\cubrid\Schema | |
| loadTableIndexes() | yii\db\cubrid\Schema | |
| loadTablePrimaryKey() | yii\db\cubrid\Schema | |
| loadTableSchema() | Loads the metadata for the specified table. | yii\db\cubrid\Schema |
| loadTableUniques() | yii\db\cubrid\Schema | |
| normalizePdoRowKeyCase() | Changes row's array key case to lower if PDO's one is set to uppercase. | yii\db\Schema |
| resolveTableName() | Resolves the table name and schema name (if any). | yii\db\Schema |
| setTableMetadata() | Sets the metadata of the given type for the given table. | yii\db\Schema |
常量
| 常量 | 值 | 描述 | 被定义在 |
|---|---|---|---|
| SCHEMA_CACHE_VERSION | 1 | Schema cache version, to detect incompatibilities in cached values when the data format of the cache changes. | 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_JSON | 'json' | 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_TINYINT | 'tinyint' | yii\db\Schema | |
| TYPE_UBIGPK | 'ubigpk' | yii\db\Schema | |
| TYPE_UPK | 'upk' | yii\db\Schema |
属性详情
DB 错误和相应异常的映射 如果在 DB 错误消息中找到左侧部分,则使用右侧部分的异常类。
Character used to quote schema, table, etc. names. An array of 2 characters can be used in case starting and ending characters are different.
The transaction isolation level to use for this transaction.
This can be one of yii\db\Transaction::READ_UNCOMMITTED, yii\db\Transaction::READ_COMMITTED, yii\db\Transaction::REPEATABLE_READ
and yii\db\Transaction::SERIALIZABLE but also a string containing DBMS specific syntax to be used
after SET TRANSACTION ISOLATION LEVEL.
从物理列类型(键)映射到抽象列类型(值) 有关数据类型的详细信息, 请查阅 CUBRID 手册 。
方法详情
Create a column schema builder instance giving the type and value precision.
This method may be overridden by child classes to create a DBMS-specific column schema builder.
| public yii\db\ColumnSchemaBuilder createColumnSchemaBuilder($type, $length = null) | ||
| $type | string | Type of the column. See yii\db\cubrid\ColumnSchemaBuilder::$type. |
| $length | integer|string|array | Length or precision of the column. See yii\db\cubrid\ColumnSchemaBuilder::$length. |
| return | yii\db\ColumnSchemaBuilder | Column schema builder instance |
|---|---|---|
创建 CUBRID 数据库查询构建器。
| public yii\db\cubrid\QueryBuilder createQueryBuilder() | ||
| return | yii\db\cubrid\QueryBuilder | 查询构建器实例 |
|---|---|---|
Returns all table names in the database.
This method should be overridden by child classes in order to support this feature because the default implementation simply throws an exception.
| protected array findTableNames($schema = '') | ||
| $schema | string | The schema of the tables. Defaults to empty string, meaning the current or default schema. |
| return | array | All table names in the database. The names have NO schema name prefix. |
|---|---|---|
| throws | yii\base\NotSupportedException | if this method is not supported by the DBMS. |
确定给定的 PHP 数据值的 PDO 类型。
| public integer getPdoType($data) | ||
| $data | mixed | 要确定其 PDO 类型的数据 |
| return | integer | PDO 类型 |
|---|---|---|
将列信息加载到 \yii\db\cubrid\ColumnSchema 对象中。
| protected yii\db\ColumnSchema loadColumnSchema($info) | ||
| $info | array | 列信息 |
| return | yii\db\ColumnSchema | 列架构对象 |
|---|---|---|
| protected void loadTableChecks($tableName) | ||
| $tableName | ||
| throws | yii\base\NotSupportedException | 如果此方法被调用,则可以抛出异常。 |
|---|---|---|
| protected void loadTableDefaultValues($tableName) | ||
| $tableName | ||
| throws | yii\base\NotSupportedException | 如果此方法被调用,则可以抛出异常。 |
|---|---|---|
| protected void loadTableForeignKeys($tableName) | ||
| $tableName | ||
| protected void loadTableIndexes($tableName) | ||
| $tableName | ||
| protected void loadTablePrimaryKey($tableName) | ||
| $tableName | ||
Loads the metadata for the specified table.
| protected yii\db\TableSchema|null loadTableSchema($name) | ||
| $name | string | Table name |
| return | yii\db\TableSchema|null | DBMS-dependent table metadata, |
|---|---|---|
| protected void loadTableUniques($tableName) | ||
| $tableName | ||
Releases an existing savepoint.
| public void releaseSavepoint($name) | ||
| $name | string | The savepoint name |
Sets the isolation level of the current transaction.
参见 http://www.cubrid.org/manual/91/en/sql/transaction.html#database-concurrency.
| public void setTransactionIsolationLevel($level) | ||
| $level | string | The transaction isolation level to use for this transaction.
This can be one of yii\db\Transaction::READ_UNCOMMITTED, yii\db\Transaction::READ_COMMITTED, yii\db\Transaction::REPEATABLE_READ
and yii\db\Transaction::SERIALIZABLE but also a string containing DBMS specific syntax to be used
after |