public function buildIndex(SchemaInterface $schema) { // Single column index $sqls = array(); foreach ($schema->columns as $name => $column) { if ($column->index) { $indexName = is_string($column->index) ? $column->index : "idx_" . $schema->getTable() . "_" . $name; $query = new CreateIndexQuery($indexName); $query->on($schema->getTable(), (array) $name); $sqls[] = $query->toSql($this->driver, new ArgumentArray()); } } return $sqls; }
public function dropTable(SchemaInterface $schema) { return 'DROP TABLE IF EXISTS ' . $this->driver->quoteIdentifier($schema->getTable()) . ';'; }
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; }