diff --git a/src/Database/Drivers/MySqlDriver.php b/src/Database/Drivers/MySqlDriver.php index 14ff4a571..84269d989 100644 --- a/src/Database/Drivers/MySqlDriver.php +++ b/src/Database/Drivers/MySqlDriver.php @@ -174,11 +174,10 @@ public function getForeignKeys(string $table): array . 'WHERE TABLE_SCHEMA = DATABASE() AND REFERENCED_TABLE_NAME IS NOT NULL AND TABLE_NAME = ' . $this->connection->quote($table); foreach ($this->connection->query($query) as $id => $row) { - $row = array_change_key_case((array) $row, CASE_LOWER); - $keys[$id]['name'] = $row['constraint_name']; // foreign key name - $keys[$id]['local'] = $row['column_name']; // local columns - $keys[$id]['table'] = $row['referenced_table_name']; // referenced table - $keys[$id]['foreign'] = $row['referenced_column_name']; // referenced columns + $keys[$id]['name'] = $row['CONSTRAINT_NAME']; + $keys[$id]['local'] = $row['COLUMN_NAME']; + $keys[$id]['table'] = $row['REFERENCED_TABLE_NAME']; + $keys[$id]['foreign'] = $row['REFERENCED_COLUMN_NAME']; } return array_values($keys); diff --git a/src/Database/Drivers/SqliteDriver.php b/src/Database/Drivers/SqliteDriver.php index 9fc521b7b..1c4d0e2e2 100644 --- a/src/Database/Drivers/SqliteDriver.php +++ b/src/Database/Drivers/SqliteDriver.php @@ -207,14 +207,11 @@ public function getForeignKeys(string $table): array { $keys = []; foreach ($this->connection->query("PRAGMA foreign_key_list({$this->delimite($table)})") as $row) { - $keys[$row['id']]['name'] = $row['id']; // foreign key name - $keys[$row['id']]['local'] = $row['from']; // local columns - $keys[$row['id']]['table'] = $row['table']; // referenced table - $keys[$row['id']]['foreign'] = $row['to']; // referenced columns - - if ($keys[$row['id']]['foreign'][0] == null) { - $keys[$row['id']]['foreign'] = null; - } + $id = $row['id']; + $keys[$id]['name'] = $id; + $keys[$id]['local'] = $row['from']; + $keys[$id]['table'] = $row['table']; + $keys[$id]['foreign'] = $row['to']; } return array_values($keys);