getConnection()->insert($sql, $values); $id = $query->getConnection()->getPdo()->lastInsertId($sequence); return is_numeric($id) ? (int) $id : $id; } /** * Process the results of a schemas query. * * @param list> $results * @return list */ public function processSchemas($results) { return array_map(function ($result) { $result = (object) $result; return [ 'name' => $result->name, 'path' => $result->path ?? null, // SQLite Only... 'default' => (bool) $result->default, ]; }, $results); } /** * Process the results of a tables query. * * @param list> $results * @return list */ public function processTables($results) { return array_map(function ($result) { $result = (object) $result; return [ 'name' => $result->name, 'schema' => $result->schema ?? null, 'schema_qualified_name' => isset($result->schema) ? $result->schema.'.'.$result->name : $result->name, 'size' => isset($result->size) ? (int) $result->size : null, 'comment' => $result->comment ?? null, // MySQL and PostgreSQL 'collation' => $result->collation ?? null, // MySQL only 'engine' => $result->engine ?? null, // MySQL only ]; }, $results); } /** * Process the results of a views query. * * @param list> $results * @return list */ public function processViews($results) { return array_map(function ($result) { $result = (object) $result; return [ 'name' => $result->name, 'schema' => $result->schema ?? null, 'schema_qualified_name' => isset($result->schema) ? $result->schema.'.'.$result->name : $result->name, 'definition' => $result->definition, ]; }, $results); } /** * Process the results of a types query. * * @param list> $results * @return list */ public function processTypes($results) { return $results; } /** * Process the results of a columns query. * * @param list> $results * @return list */ public function processColumns($results) { return $results; } /** * Process the results of an indexes query. * * @param list> $results * @return list, type: string, unique: bool, primary: bool}> */ public function processIndexes($results) { return $results; } /** * Process the results of a foreign keys query. * * @param list> $results * @return list, foreign_schema: string, foreign_table: string, foreign_columns: list, on_update: string, on_delete: string}> */ public function processForeignKeys($results) { return $results; } }