public function buildIndex(SchemaInterface $schema)
{
// build single column index
$sqls = array();
foreach ($schema->columns as $name => $column) {
if ($column->index) {
$table = $schema->getTable();
$indexName = is_string($column->index) ? $column->index : 'idx_' . $table . '_' . $name;
$query = new CreateIndexQuery($indexName);
$query->on($table, [$name]);
if ($column->index_using) {
$query->using($column->index_using);
}
$sqls[] = $query->toSql($this->driver, new ArgumentArray());
}
}
if ($queries = $schema->getIndexQueries()) {
foreach ($queries as $query) {
$sqls[] = $query->toSql($this->driver, new ArgumentArray());
}
}
return $sqls;
}