Class yii\db\sqlite\Schema
| Inheritance | yii\db\sqlite\Schema » yii\db\Schema » yii\base\BaseObject |
|---|---|
| Implements | yii\base\Configurable, yii\db\ConstraintFinderInterface |
| Uses Traits | yii\db\ConstraintFinderTrait |
| Available since version | 2.0 |
| Source Code | https://github.com/yiisoft/yii2/blob/master/framework/db/sqlite/Schema.php |
Schema is the class for retrieving metadata from a SQLite (2/3) database.
Public Properties
| Property | Type | Description | Defined By |
|---|---|---|---|
| $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. This property is read-only. | yii\db\Schema |
| $queryBuilder | yii\db\QueryBuilder | The query builder for this connection. This property is read-only. | 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. This property is read-only. | 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. This property is read-only. | yii\db\Schema |
| $tableNames | string[] | All table names in the database. This property is read-only. | yii\db\Schema |
| $tableSchemas | yii\db\TableSchema[] | The metadata for all tables in the database. Each array element is an instance of yii\db\TableSchema or its child class. This property is read-only. | yii\db\Schema |
| $transactionIsolationLevel | string | The transaction isolation level to use for this transaction. This can be either yii\db\Transaction::READ_UNCOMMITTED or yii\db\Transaction::SERIALIZABLE. This property is write-only. | yii\db\sqlite\Schema |
| $typeMap | array | Mapping from physical column types (keys) to abstract column types (values) | yii\db\sqlite\Schema |
Protected Properties
| Property | Type | Description | Defined By |
|---|---|---|---|
| $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 |
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __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() | Creates a query builder for the MySQL database. | yii\db\sqlite\Schema |
| createSavepoint() | Creates a new savepoint. | yii\db\Schema |
| findUniqueIndexes() | Returns all unique indexes for the given table. | 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() | Sets the isolation level of the current transaction. | 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 |
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| createColumnSchema() | Creates a column schema for the database. | yii\db\Schema |
| findColumns() | Collects the table column metadata. | yii\db\sqlite\Schema |
| findConstraints() | Collects the foreign key column details for the given table. | yii\db\sqlite\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\sqlite\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 |
| getTableNameParts() | Splits full table name into parts | yii\db\Schema |
| loadColumnSchema() | Loads the column information into a yii\db\ColumnSchema object. | yii\db\sqlite\Schema |
| loadTableChecks() | yii\db\sqlite\Schema | |
| loadTableDefaultValues() | yii\db\sqlite\Schema | |
| loadTableForeignKeys() | yii\db\sqlite\Schema | |
| loadTableIndexes() | yii\db\sqlite\Schema | |
| loadTablePrimaryKey() | yii\db\sqlite\Schema | |
| loadTableSchema() | Loads the metadata for the specified table. | yii\db\sqlite\Schema |
| loadTableUniques() | yii\db\sqlite\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 |
Constants
| Constant | Value | Description | Defined By |
|---|---|---|---|
| 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 |
Property Details
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.
The transaction isolation level to use for this transaction. This can be either yii\db\Transaction::READ_UNCOMMITTED or yii\db\Transaction::SERIALIZABLE. This property is write-only.
Mapping from physical column types (keys) to abstract column types (values)
Method Details
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 | Column schema builder instance |
|---|---|---|
Creates a query builder for the MySQL database.
This method may be overridden by child classes to create a DBMS-specific query builder.
| public yii\db\sqlite\QueryBuilder createQueryBuilder ( ) | ||
| return | yii\db\sqlite\QueryBuilder | Query builder instance |
|---|---|---|
Collects the table column metadata.
| protected boolean findColumns ( $table ) | ||
| $table | yii\db\TableSchema | The table metadata |
| return | boolean | Whether the table exists in the database |
|---|---|---|
Collects the foreign key column details for the given table.
| protected void findConstraints ( $table ) | ||
| $table | yii\db\TableSchema | The table metadata |
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. |
Returns all unique indexes for the given table.
Each array element is of the following structure:
[
'IndexName1' => ['col1' [, ...]],
'IndexName2' => ['col2' [, ...]],
]
| public array findUniqueIndexes ( $table ) | ||
| $table | yii\db\TableSchema | The table metadata |
| return | array | All unique indexes for the given table. |
|---|---|---|
Loads the column information into a yii\db\ColumnSchema object.
| protected yii\db\ColumnSchema loadColumnSchema ( $info ) | ||
| $info | array | Column information |
| return | yii\db\ColumnSchema | The column schema object |
|---|---|---|
| protected void loadTableChecks ( $tableName ) | ||
| $tableName | ||
| protected void loadTableDefaultValues ( $tableName ) | ||
| $tableName | ||
| throws | yii\base\NotSupportedException | if this method is called. |
|---|---|---|
| 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 | ||
Sets the isolation level of the current transaction.
See also http://www.sqlite.org/pragma.html#pragma_read_uncommitted.
| public void setTransactionIsolationLevel ( $level ) | ||
| $level | string | The transaction isolation level to use for this transaction. This can be either yii\db\Transaction::READ_UNCOMMITTED or yii\db\Transaction::SERIALIZABLE. |
| throws | yii\base\NotSupportedException | when unsupported isolation levels are used. SQLite only supports SERIALIZABLE and READ UNCOMMITTED. |
|---|---|---|