Class yii\db\sqlite\Schema
Schema 是从 SQLite(SQLite 2 或 SQLite 3)数据库中检索元数据的类。
公共属性
| 属性 | 类型 | 描述 | 被定义在 |
|---|---|---|---|
| $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 | Map of DB errors and corresponding exceptions If left part is found in DB error message exception class from the right part is used. | yii\db\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 | 用于此事务的隔离级别。 这可以是 yii\db\Transaction::READ_UNCOMMITTED 或 yii\db\Transaction::SERIALIZABLE。 | yii\db\sqlite\Schema |
| $typeMap | array | 从物理列类型(键)到抽象列类型(值)的映射 | yii\db\sqlite\Schema |
受保护的属性
| 属性 | 类型 | 描述 | 被定义在 |
|---|---|---|---|
| $columnQuoteCharacter | string|string[] | Character used to quote column names. | yii\db\sqlite\Schema |
| $tableQuoteCharacter | string|string[] | Character used to quote schema, table, etc. | yii\db\sqlite\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\sqlite\Schema |
| createQueryBuilder() | 创建 MySQL 数据库查询构建器。 子类可以重写此方法以创建特定于 DBMS 的查询构建器。 | yii\db\sqlite\Schema |
| createSavepoint() | Creates a new savepoint. | yii\db\Schema |
| findUniqueIndexes() | 返回给定表的所有唯一索引。 | yii\db\sqlite\Schema |
| getLastInsertID() | Returns the ID of the last inserted row or sequence value. | yii\db\Schema |
| getPdoType() | Determines the PDO type for the given PHP data value. | yii\db\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\Schema |
| rollBackSavepoint() | Rolls back to a previously created savepoint. | yii\db\Schema |
| setTransactionIsolationLevel() | 设置当前事务的隔离级别。 | yii\db\sqlite\Schema |
| supportsSavepoint() | yii\db\Schema | |
| unquoteSimpleColumnName() | Unquotes a simple column name. | yii\db\Schema |
| unquoteSimpleTableName() | Unquotes a simple table name. | 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 |
属性详情
Character used to quote column names. An array of 2 characters can be used in case starting and ending characters are different.
Character used to quote schema, table, etc. names. An array of 2 characters can be used in case starting and ending characters are different.
用于此事务的隔离级别。 这可以是 yii\db\Transaction::READ_UNCOMMITTED 或 yii\db\Transaction::SERIALIZABLE。
从物理列类型(键)到抽象列类型(值)的映射
方法详情
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\sqlite\ColumnSchemaBuilder createColumnSchemaBuilder($type, $length = null) | ||
| $type | string | Type of the column. See yii\db\sqlite\ColumnSchemaBuilder::$type. |
| $length | integer|string|array | Length or precision of the column. See yii\db\sqlite\ColumnSchemaBuilder::$length. |
| return | yii\db\sqlite\ColumnSchemaBuilder | 列结构构建器实例 |
|---|---|---|
创建 MySQL 数据库查询构建器。 子类可以重写此方法以创建特定于 DBMS 的查询构建器。
| public yii\db\sqlite\QueryBuilder createQueryBuilder() | ||
| return | yii\db\sqlite\QueryBuilder | 查询构建器实例 |
|---|---|---|
搜集表列的元数据。
| protected boolean findColumns($table) | ||
| $table | yii\db\TableSchema | 表元数据 |
| return | boolean | 表是否存在于数据库中 |
|---|---|---|
在给定表中搜集外键列的详细信息。
| protected void findConstraints($table) | ||
| $table | yii\db\TableSchema | 表元数据 |
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. |
返回给定表的所有唯一索引。
每个数组元素都具有如下结构:
[
'IndexName1' => ['col1' [, ...]],
'IndexName2' => ['col2' [, ...]],
]
| public array findUniqueIndexes($table) | ||
| $table | yii\db\TableSchema | 表元数据 |
| return | array | 给定表的所有唯一索引。 |
|---|---|---|
加载列信息到 yii\db\ColumnSchema 对象。
| protected yii\db\ColumnSchema loadColumnSchema($info) | ||
| $info | array | 列信息 |
| return | yii\db\ColumnSchema | 列结构对象 |
|---|---|---|
| protected void loadTableChecks($tableName) | ||
| $tableName | ||
| 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 | ||
设置当前事务的隔离级别。
参见 http://www.sqlite.org/pragma.html#pragma_read_uncommitted.
| public void setTransactionIsolationLevel($level) | ||
| $level | string | 用于此事务的隔离级别。 这可以是 yii\db\Transaction::READ_UNCOMMITTED 或 yii\db\Transaction::SERIALIZABLE。 |
| throws | yii\base\NotSupportedException | 当使用不支持的隔离级别时,抛出异常。 SQLite 仅仅支持 SERIALIZABLE 和 READ UNCOMMITTED。 |
|---|---|---|