class Structure implements IStructure

Provides database structure metadata with caching.

Properties

protected $connection
protected $cache
protected $structure
protected $isRebuilt

Methods

__construct(Connection $connection, Storage $cacheStorage)

No description

array
getTables()

Returns tables list.

array
getColumns(string $table)

Returns table columns list.

string|array|null
getPrimaryKey(string $table)

No description

string|null
getPrimaryAutoincrementKey(string $table)

Returns autoincrement primary key name.

string|null
getPrimaryKeySequence(string $table)

Returns table primary key sequence.

array|null
getHasManyReference(string $table)

Returns hasMany reference.

array|null
getBelongsToReference(string $table)

Returns belongsTo reference.

void
rebuild()

Rebuilds structure cache.

bool
isRebuilt()

Returns true if database cached structure has been rebuilt.

void
needStructure()

No description

array
loadStructure()

Loads complete structure from database.

string|array|null
analyzePrimaryKey(array $columns)

No description

void
analyzeForeignKeys(array $structure, string $table)

No description

string
resolveFQTableName(string $table)

Returns normalized table name.

Details

at line 28
__construct(Connection $connection, Storage $cacheStorage)

No description

Parameters

Connection $connection
Storage $cacheStorage

at line 35
array getTables()

Returns tables list.

Return Value

array

at line 42
array getColumns(string $table)

Returns table columns list.

Parameters

string $table

Return Value

array

at line 54
string|array|null getPrimaryKey(string $table)

No description

Parameters

string $table

Return Value

string|array|null

at line 62
string|null getPrimaryAutoincrementKey(string $table)

Returns autoincrement primary key name.

Parameters

string $table

Return Value

string|null

at line 92
string|null getPrimaryKeySequence(string $table)

Returns table primary key sequence.

Parameters

string $table

Return Value

string|null

at line 117
array|null getHasManyReference(string $table)

Returns hasMany reference.

If a targetTable is not provided, returns references for all tables.

Parameters

string $table

Return Value

array|null

at line 125
array|null getBelongsToReference(string $table)

Returns belongsTo reference.

If a column is not provided, returns references for all columns.

Parameters

string $table

Return Value

array|null

at line 136
void rebuild()

Rebuilds structure cache.

Return Value

void

at line 143
bool isRebuilt()

Returns true if database cached structure has been rebuilt.

Return Value

bool

at line 149
protected void needStructure()

No description

Return Value

void

at line 162
protected array loadStructure()

Loads complete structure from database.

Return Value

array

at line 197
protected string|array|null analyzePrimaryKey(array $columns)

No description

Parameters

array $columns

Return Value

string|array|null

at line 216
protected void analyzeForeignKeys(array $structure, string $table)

No description

Parameters

array $structure
string $table

Return Value

void

at line 244
protected string resolveFQTableName(string $table)

Returns normalized table name.

Parameters

string $table

Return Value

string