mirror of https://github.com/MISP/MISP
chg: [schema] Add index for EventReport.event_id
parent
874ec66c9b
commit
e3b2a0a40c
|
@ -243,7 +243,8 @@ CREATE TABLE IF NOT EXISTS event_reports (
|
|||
`deleted` tinyint(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (id),
|
||||
CONSTRAINT u_uuid UNIQUE (uuid),
|
||||
INDEX `name` (`name`)
|
||||
INDEX `name` (`name`),
|
||||
INDEX `event_id` (`event_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
|
|
@ -1570,6 +1570,7 @@ class AppModel extends Model
|
|||
break;
|
||||
case 66:
|
||||
$sqlArray[] = "ALTER TABLE `galaxy_clusters` MODIFY COLUMN `tag_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '';";
|
||||
$indexArray[] = ['event_reports', 'event_id'];
|
||||
break;
|
||||
case 'fixNonEmptySharingGroupID':
|
||||
$sqlArray[] = 'UPDATE `events` SET `sharing_group_id` = 0 WHERE `distribution` != 4;';
|
||||
|
@ -1824,18 +1825,19 @@ class AppModel extends Model
|
|||
}
|
||||
}
|
||||
|
||||
private function __addIndex($table, $field, $length = false)
|
||||
private function __addIndex($table, $field, $length = null, $unique = false)
|
||||
{
|
||||
$dataSourceConfig = ConnectionManager::getDataSource('default')->config;
|
||||
$dataSource = $dataSourceConfig['datasource'];
|
||||
$this->Log = ClassRegistry::init('Log');
|
||||
$index = $unique ? 'UNIQUE INDEX' : 'INDEX';
|
||||
if ($dataSource == 'Database/Postgres') {
|
||||
$addIndex = "CREATE INDEX idx_" . $table . "_" . $field . " ON " . $table . " (" . $field . ");";
|
||||
$addIndex = "CREATE $index idx_" . $table . "_" . $field . " ON " . $table . " (" . $field . ");";
|
||||
} else {
|
||||
if (!$length) {
|
||||
$addIndex = "ALTER TABLE `" . $table . "` ADD INDEX `" . $field . "` (`" . $field . "`);";
|
||||
$addIndex = "ALTER TABLE `" . $table . "` ADD $index `" . $field . "` (`" . $field . "`);";
|
||||
} else {
|
||||
$addIndex = "ALTER TABLE `" . $table . "` ADD INDEX `" . $field . "` (`" . $field . "`(" . $length . "));";
|
||||
$addIndex = "ALTER TABLE `" . $table . "` ADD $index `" . $field . "` (`" . $field . "`(" . $length . "));";
|
||||
}
|
||||
}
|
||||
$result = true;
|
||||
|
@ -1844,7 +1846,7 @@ class AppModel extends Model
|
|||
try {
|
||||
$this->query($addIndex);
|
||||
} catch (Exception $e) {
|
||||
$duplicate = (strpos($e->getMessage(), '1061') !== false);
|
||||
$duplicate = strpos($e->getMessage(), '1061') !== false;
|
||||
$errorMessage = $e->getMessage();
|
||||
$result = false;
|
||||
}
|
||||
|
|
|
@ -7654,7 +7654,8 @@
|
|||
"event_reports": {
|
||||
"id": true,
|
||||
"uuid": true,
|
||||
"name": false
|
||||
"name": false,
|
||||
"event_id": false
|
||||
},
|
||||
"event_tags": {
|
||||
"id": true,
|
||||
|
|
Loading…
Reference in New Issue