Fix database create index clause
This commit is contained in:
@@ -3628,7 +3628,7 @@ class database {
|
|||||||
$pg_indexes = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
$pg_indexes = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||||
$database_indexes = array();
|
$database_indexes = array();
|
||||||
foreach($pg_indexes as $row) {
|
foreach($pg_indexes as $row) {
|
||||||
$database_indexes[$row['table']][$row['index_name']] = $row['definition'];
|
$database_indexes[$row['index_name']] = $row['definition'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $database_indexes;
|
return $database_indexes;
|
||||||
@@ -3692,10 +3692,17 @@ class database {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// create the database index - postgresql index name limited to 63 bytes
|
// create the database index - postgresql index name limited to 63 bytes
|
||||||
if ($this->type == 'pgsql' && !isset($database_indexes[$table_name][substr($table_name . "_" . $column_name . "_fkey", 0, 63)])) {
|
$index_name = substr($table_name . "_" . $column_name . "_fkey", 0, 63);
|
||||||
$sql = "CREATE INDEX IF NOT EXISTS " . $table_name . "_" . $column_name . "_fkey ON " . $table_name . " (" . $column_name . ");\n";
|
if ($this->type == 'pgsql' && !isset($database_indexes[$index_name])) {
|
||||||
|
// add the database index
|
||||||
|
$sql = "CREATE INDEX " . $index_name . " ON " . $table_name . " (" . $column_name . ");\n";
|
||||||
$prep_statement = $this->db->prepare($sql);
|
$prep_statement = $this->db->prepare($sql);
|
||||||
$prep_statement->execute();
|
$prep_statement->execute();
|
||||||
|
|
||||||
|
// add the new index to the database indexes array
|
||||||
|
$database_indexes[$index_name] = $sql;
|
||||||
|
|
||||||
|
// build the results array
|
||||||
$row['table_name'] = $table_name;
|
$row['table_name'] = $table_name;
|
||||||
$row['column_name'] = $column_name;
|
$row['column_name'] = $column_name;
|
||||||
$row['sql'] = $sql;
|
$row['sql'] = $sql;
|
||||||
|
|||||||
Reference in New Issue
Block a user