From 1951c88bdcc201078968613743229e4d97204855 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 10 May 2017 12:35:14 +0200 Subject: [PATCH] We don't use the prefix on index names Signed-off-by: Joas Schilling --- lib/private/App/CodeChecker/DatabaseSchemaChecker.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/private/App/CodeChecker/DatabaseSchemaChecker.php b/lib/private/App/CodeChecker/DatabaseSchemaChecker.php index 30226139b19..1255dec25c1 100644 --- a/lib/private/App/CodeChecker/DatabaseSchemaChecker.php +++ b/lib/private/App/CodeChecker/DatabaseSchemaChecker.php @@ -88,14 +88,12 @@ class DatabaseSchemaChecker { // Index names foreach ($table->declaration->index as $index) { - if (strpos($index->name, '*dbprefix*') !== 0) { - $warnings[] = 'Database schema warning: name of index ' . $index->name . ' on table ' . $table->name . ' does not start with *dbprefix*'; - } - $indexName = substr($index->name, strlen('*dbprefix*')); - if (strpos($indexName, '*dbprefix*') !== false) { - $warnings[] = 'Database schema warning: *dbprefix* should only appear once in name of index ' . $index->name . ' on table ' . $table->name; + $hasPrefix = strpos($index->name, '*dbprefix*'); + if ($hasPrefix !== false && $hasPrefix !== 0) { + $warnings[] = 'Database schema warning: *dbprefix* should only appear at the beginning in name of index ' . $index->name . ' on table ' . $table->name; } + $indexName = $hasPrefix === 0 ? substr($index->name, strlen('*dbprefix*')) : $index->name; if (strlen($indexName) > 27) { $errors[] = 'Database schema error: Name of index ' . $index->name . ' on table ' . $table->name . ' is too long (' . strlen($tableName) . '), max. 27 characters + *dbprefix* allowed'; } -- 2.39.5