aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorskjnldsv <skjnldsv@protonmail.com>2025-01-15 16:57:45 +0100
committerskjnldsv <skjnldsv@protonmail.com>2025-01-15 17:03:03 +0100
commit57ffca36a7cdcaf0fa73399dbcb0d8b8f6911cd6 (patch)
tree374e2d59072662ec74271bb26630ddc4a3f9cb4b
parent47eedf9228efbf31136a1cc0c2efa747cada596d (diff)
downloadnextcloud-server-fix/index-systemtags.tar.gz
nextcloud-server-fix/index-systemtags.zip
fix(systemtags): objecttype index registrationfix/index-systemtags
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
-rw-r--r--apps/systemtags/lib/Migration/Version31000Date20241018063111.php13
-rw-r--r--apps/systemtags/lib/Migration/Version31000Date20241114171300.php2
-rw-r--r--core/Application.php6
-rw-r--r--core/Migrations/Version13000Date20170718121200.php2
4 files changed, 10 insertions, 13 deletions
diff --git a/apps/systemtags/lib/Migration/Version31000Date20241018063111.php b/apps/systemtags/lib/Migration/Version31000Date20241018063111.php
index f813c4e0dee..8006d7f3969 100644
--- a/apps/systemtags/lib/Migration/Version31000Date20241018063111.php
+++ b/apps/systemtags/lib/Migration/Version31000Date20241018063111.php
@@ -13,31 +13,20 @@ use Closure;
use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\Attributes\AddColumn;
-use OCP\Migration\Attributes\AddIndex;
use OCP\Migration\Attributes\ColumnType;
-use OCP\Migration\Attributes\IndexType;
use OCP\Migration\IOutput;
use OCP\Migration\SimpleMigrationStep;
/**
- * Add objecttype index to systemtag_object_mapping
+ * Add etag column to systemtag
*/
#[AddColumn(table: 'systemtag', name: 'etag', type: ColumnType::STRING, description: 'Adding etag for systemtag table to prevent conflicts')]
-#[AddIndex(table: 'systemtag_object_mapping', type: IndexType::INDEX, description: 'Adding objecttype index to systemtag_object_mapping')]
class Version31000Date20241018063111 extends SimpleMigrationStep {
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
/** @var ISchemaWrapper $schema */
$schema = $schemaClosure();
- if ($schema->hasTable('systemtag_object_mapping')) {
- $table = $schema->getTable('systemtag_object_mapping');
-
- if (!$table->hasIndex('systag_objecttype')) {
- $table->addIndex(['objecttype'], 'systag_objecttype');
- }
- }
-
if ($schema->hasTable('systemtag')) {
$table = $schema->getTable('systemtag');
diff --git a/apps/systemtags/lib/Migration/Version31000Date20241114171300.php b/apps/systemtags/lib/Migration/Version31000Date20241114171300.php
index 5830d3aefae..22e1bd1e485 100644
--- a/apps/systemtags/lib/Migration/Version31000Date20241114171300.php
+++ b/apps/systemtags/lib/Migration/Version31000Date20241114171300.php
@@ -18,7 +18,7 @@ use OCP\Migration\IOutput;
use OCP\Migration\SimpleMigrationStep;
/**
- * Add objecttype index to systemtag_object_mapping
+ * Add color column to systemtag
*/
#[AddColumn(table: 'systemtag', name: 'color', type: ColumnType::STRING, description: 'Adding color for systemtag table')]
class Version31000Date20241114171300 extends SimpleMigrationStep {
diff --git a/core/Application.php b/core/Application.php
index e2315bbf073..79021a46e81 100644
--- a/core/Application.php
+++ b/core/Application.php
@@ -235,6 +235,12 @@ class Application extends App {
'systag_by_objectid',
['objectid']
);
+
+ $event->addMissingIndex(
+ 'systemtag_object_mapping',
+ 'systag_objecttype',
+ ['objecttype']
+ );
});
$eventDispatcher->addListener(AddMissingPrimaryKeyEvent::class, function (AddMissingPrimaryKeyEvent $event) {
diff --git a/core/Migrations/Version13000Date20170718121200.php b/core/Migrations/Version13000Date20170718121200.php
index 9e798f42b47..1adbf2f0ea2 100644
--- a/core/Migrations/Version13000Date20170718121200.php
+++ b/core/Migrations/Version13000Date20170718121200.php
@@ -732,6 +732,8 @@ class Version13000Date20170718121200 extends SimpleMigrationStep {
$table->addIndex(['systemtagid', 'objecttype'], 'systag_by_tagid');
// systag_by_objectid was added later and might be missing in older deployments
$table->addIndex(['objectid'], 'systag_by_objectid');
+ // systag_objecttype was added later and might be missing in older deployments
+ $table->addIndex(['objecttype'], 'systag_objecttype');
}
if (!$schema->hasTable('systemtag_group')) {