# Trait yii\db\ConstraintFinderTrait

Implemented by | yii\db\cubrid\Schema, yii\db\mssql\Schema, yii\db\mysql\Schema, yii\db\oci\Schema, yii\db\pgsql\Schema, yii\db\sqlite\Schema
Available since version | 2.0.13
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/db/ConstraintFinderTrait.php

ConstraintFinderTrait provides methods for getting a table constraint information.

## Public Properties

Hide inherited properties

Property | Type | Description | Defined By
--- | --- | --- | ---
$schemaChecks | \yii\db\CheckConstraint[][] | Check constraints for all tables in the database. Each array element is an array of yii\db\CheckConstraint or its child classes. This property is read-only. | yii\db\ConstraintFinderTrait
$schemaDefaultValues | yii\db\DefaultValueConstraint[] | Default value constraints for all tables in the database. Each array element is an array of yii\db\DefaultValueConstraint or its child classes. This property is read-only. | yii\db\ConstraintFinderTrait
$schemaForeignKeys | \yii\db\ForeignKeyConstraint[][] | Foreign keys for all tables in the database. Each array element is an array of yii\db\ForeignKeyConstraint or its child classes. This property is read-only. | yii\db\ConstraintFinderTrait
$schemaIndexes | \yii\db\IndexConstraint[][] | Indexes for all tables in the database. Each array element is an array of yii\db\IndexConstraint or its child classes. This property is read-only. | yii\db\ConstraintFinderTrait
$schemaPrimaryKeys | yii\db\Constraint[] | Primary keys for all tables in the database. Each array element is an instance of yii\db\Constraint or its child class. This property is read-only. | yii\db\ConstraintFinderTrait
$schemaUniques | \yii\db\IndexConstraint[][] | Unique constraints for all tables in the database. Each array element is an array of yii\db\IndexConstraint or its child classes. This property is read-only. | yii\db\ConstraintFinderTrait

## Public Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
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
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
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
getTablePrimaryKey() | Obtains the primary key for the named table. | yii\db\ConstraintFinderTrait
getTableUniques() | Obtains the unique constraints information for the named table. | yii\db\ConstraintFinderTrait

## Protected Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
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
loadTableChecks() | Loads all check constraints for the given table. | yii\db\ConstraintFinderTrait
loadTableDefaultValues() | Loads all default value constraints for the given table. | yii\db\ConstraintFinderTrait
loadTableForeignKeys() | Loads all foreign keys for the given table. | yii\db\ConstraintFinderTrait
loadTableIndexes() | Loads all indexes for the given table. | yii\db\ConstraintFinderTrait
loadTablePrimaryKey() | Loads a primary key for the given table. | yii\db\ConstraintFinderTrait
loadTableUniques() | Loads all unique constraints for the given table. | yii\db\ConstraintFinderTrait

## Property Details

$schemaChecks public property

Check constraints for all tables in the database. Each array element is an array of yii\db\CheckConstraint or its child classes. This property is read-only.

public \yii\db\CheckConstraint[][] $schemaChecks = null
$schemaDefaultValues public property

Default value constraints for all tables in the database. Each array element is an array of yii\db\DefaultValueConstraint or its child classes. This property is read-only.

public yii\db\DefaultValueConstraint[] $schemaDefaultValues = null
$schemaForeignKeys public property

Foreign keys for all tables in the database. Each array element is an array of yii\db\ForeignKeyConstraint or its child classes. This property is read-only.

public \yii\db\ForeignKeyConstraint[][] $schemaForeignKeys = null
$schemaIndexes public property

Indexes for all tables in the database. Each array element is an array of yii\db\IndexConstraint or its child classes. This property is read-only.

public \yii\db\IndexConstraint[][] $schemaIndexes = null
$schemaPrimaryKeys public property

Primary keys for all tables in the database. Each array element is an instance of yii\db\Constraint or its child class. This property is read-only.

public yii\db\Constraint[] $schemaPrimaryKeys = null
$schemaUniques public property

Unique constraints for all tables in the database. Each array element is an array of yii\db\IndexConstraint or its child classes. This property is read-only.

public \yii\db\IndexConstraint[][] $schemaUniques = null

## Method Details

getSchemaChecks() public method

Returns check constraints for all tables in the database.

public \yii\db\CheckConstraint[][] getSchemaChecks ( $schema = '', $refresh = false )
$schema | string | The schema of the tables. Defaults to empty string, meaning the current or default schema name.
$refresh | boolean | Whether to fetch the latest available table schemas. If this is false, cached data may be returned if available.
return | \yii\db\CheckConstraint[][] | Check constraints for all tables in the database. Each array element is an array of yii\db\CheckConstraint or its child classes.

getSchemaDefaultValues() public method

Returns default value constraints for all tables in the database.

public yii\db\DefaultValueConstraint[] getSchemaDefaultValues ( $schema = '', $refresh = false )
$schema | string | The schema of the tables. Defaults to empty string, meaning the current or default schema name.
$refresh | boolean | Whether to fetch the latest available table schemas. If this is false, cached data may be returned if available.
return | yii\db\DefaultValueConstraint[] | Default value constraints for all tables in the database. Each array element is an array of yii\db\DefaultValueConstraint or its child classes.

getSchemaForeignKeys() public method

Returns foreign keys for all tables in the database.

public \yii\db\ForeignKeyConstraint[][] getSchemaForeignKeys ( $schema = '', $refresh = false )
$schema | string | The schema of the tables. Defaults to empty string, meaning the current or default schema name.
$refresh | boolean | Whether to fetch the latest available table schemas. If this is false, cached data may be returned if available.
return | \yii\db\ForeignKeyConstraint[][] | Foreign keys for all tables in the database. Each array element is an array of yii\db\ForeignKeyConstraint or its child classes.

getSchemaIndexes() public method

Returns indexes for all tables in the database.

public \yii\db\IndexConstraint[][] getSchemaIndexes ( $schema = '', $refresh = false )
$schema | string | The schema of the tables. Defaults to empty string, meaning the current or default schema name.
$refresh | boolean | Whether to fetch the latest available table schemas. If this is false, cached data may be returned if available.
return | \yii\db\IndexConstraint[][] | Indexes for all tables in the database. Each array element is an array of yii\db\IndexConstraint or its child classes.

getSchemaMetadata() protected abstract method

Returns the metadata of the given type for all tables in the given schema.

protected abstract array getSchemaMetadata ( $schema, $type, $refresh )
$schema | string | The schema of the metadata. Defaults to empty string, meaning the current or default schema name.
$type | string | Metadata type.
$refresh | boolean | Whether to fetch the latest available table metadata. If this is `false`, cached data may be returned if available.
return | array | Array of metadata.

getSchemaPrimaryKeys() public method

Returns primary keys for all tables in the database.

public yii\db\Constraint[] getSchemaPrimaryKeys ( $schema = '', $refresh = false )
$schema | string | The schema of the tables. Defaults to empty string, meaning the current or default schema name.
$refresh | boolean | Whether to fetch the latest available table schemas. If this is `false`, cached data may be returned if available.
return | yii\db\Constraint[] | Primary keys for all tables in the database. Each array element is an instance of yii\db\Constraint or its child class.

getSchemaUniques() public method

Returns unique constraints for all tables in the database.

public \yii\db\Constraint[][] getSchemaUniques ( $schema = '', $refresh = false )
$schema | string | The schema of the tables. Defaults to empty string, meaning the current or default schema name.
$refresh | boolean | Whether to fetch the latest available table schemas. If this is false, cached data may be returned if available.
return | \yii\db\Constraint[][] | Unique constraints for all tables in the database. Each array element is an array of yii\db\Constraint or its child classes.

getTableChecks() public method

Obtains the check constraints information for the named table.

public yii\db\CheckConstraint[] getTableChecks ( $name, $refresh = false )
$name | string | Table name. The table name may contain schema name if any. Do not quote the table name.
$refresh | boolean | Whether to reload the information even if it is found in the cache.
return | yii\db\CheckConstraint[] | Table check constraints.

getTableDefaultValues() public method

Obtains the default value constraints information for the named table.

public yii\db\DefaultValueConstraint[] getTableDefaultValues ( $name, $refresh = false )
$name | string | Table name. The table name may contain schema name if any. Do not quote the table name.
$refresh | boolean | Whether to reload the information even if it is found in the cache.
return | yii\db\DefaultValueConstraint[] | Table default value constraints.

getTableForeignKeys() public method

Obtains the foreign keys information for the named table.

public yii\db\ForeignKeyConstraint[] getTableForeignKeys ( $name, $refresh = false )
$name | string | Table name. The table name may contain schema name if any. Do not quote the table name.
$refresh | boolean | Whether to reload the information even if it is found in the cache.
return | yii\db\ForeignKeyConstraint[] | Table foreign keys.

getTableIndexes() public method

Obtains the indexes information for the named table.

public yii\db\IndexConstraint[] getTableIndexes ( $name, $refresh = false )
$name | string | Table name. The table name may contain schema name if any. Do not quote the table name.
$refresh | boolean | Whether to reload the information even if it is found in the cache.
return | yii\db\IndexConstraint[] | Table indexes.

getTableMetadata() protected abstract method

Returns the metadata of the given type for the given table.

protected abstract mixed getTableMetadata ( $name, $type, $refresh )
$name | string | Table name. The table name may contain schema name if any. Do not quote the table name.
$type | string | Metadata type.
$refresh | boolean | Whether to reload the table metadata even if it is found in the cache.
return | mixed | Metadata.

getTablePrimaryKey() public method

Obtains the primary key for the named table.

public yii\db\Constraint|null getTablePrimaryKey ( $name, $refresh = false )
$name | string | Table name. The table name may contain schema name if any. Do not quote the table name.
$refresh | boolean | Whether to reload the information even if it is found in the cache.
return | yii\db\Constraint|null | Table primary key, `null` if the table has no primary key.

getTableUniques() public method

Obtains the unique constraints information for the named table.

public yii\db\Constraint[] getTableUniques ( $name, $refresh = false )
$name | string | Table name. The table name may contain schema name if any. Do not quote the table name.
$refresh | boolean | Whether to reload the information even if it is found in the cache.
return | yii\db\Constraint[] | Table unique constraints.

loadTableChecks() protected abstract method

Loads all check constraints for the given table.

protected abstract yii\db\CheckConstraint[] loadTableChecks ( $tableName )
$tableName | string | Table name.
return | yii\db\CheckConstraint[] | Check constraints for the given table.

loadTableDefaultValues() protected abstract method

Loads all default value constraints for the given table.

protected abstract yii\db\DefaultValueConstraint[] loadTableDefaultValues ( $tableName )
$tableName | string | Table name.
return | yii\db\DefaultValueConstraint[] | Default value constraints for the given table.

loadTableForeignKeys() protected abstract method

Loads all foreign keys for the given table.

protected abstract yii\db\ForeignKeyConstraint[] loadTableForeignKeys ( $tableName )
$tableName | string | Table name.
return | yii\db\ForeignKeyConstraint[] | Foreign keys for the given table.

loadTableIndexes() protected abstract method

Loads all indexes for the given table.

protected abstract yii\db\IndexConstraint[] loadTableIndexes ( $tableName )
$tableName | string | Table name.
return | yii\db\IndexConstraint[] | Indexes for the given table.

loadTablePrimaryKey() protected abstract method

Loads a primary key for the given table.

protected abstract yii\db\Constraint|null loadTablePrimaryKey ( $tableName )
$tableName | string | Table name.
return | yii\db\Constraint|null | Primary key for the given table, `null` if the table has no primary key.

loadTableUniques() protected abstract method

Loads all unique constraints for the given table.

protected abstract yii\db\Constraint[] loadTableUniques ( $tableName )
$tableName | string | Table name.
return | yii\db\Constraint[] | Unique constraints for the given table.