Support more index types in DB table parser

UNIQUE, SPATIAL, FULLTEXT
This commit is contained in:
Kijin Sung 2020-07-11 15:42:37 +09:00
parent 5f8ceafdf6
commit 9b776942e5
5 changed files with 25 additions and 8 deletions

View file

@ -154,11 +154,19 @@ class DBTableParser extends BaseParser
$index->columns[$idxcolumn] = 0;
}
}
$index->is_unique = toBool($index_info['unique'] ?? '');
if (isset($index_info['type']) && $index_info['type'])
{
$index->type = strtoupper($index_info['type']);
}
elseif (toBool($index_info['unique']))
{
$index->type = 'UNIQUE';
}
if (isset($table->columns[$idxcolumn]) && is_object($table->columns[$idxcolumn]))
{
$table->columns[$idxcolumn]->is_indexed = true;
$table->columns[$idxcolumn]->is_unique = $index->is_unique;
$table->columns[$idxcolumn]->is_unique = $index->type === 'UNIQUE';
}
$table->indexes[$index->name] = $index;
}