diff options
author | skjnldsv <skjnldsv@protonmail.com> | 2025-01-15 16:57:45 +0100 |
---|---|---|
committer | skjnldsv <skjnldsv@protonmail.com> | 2025-01-15 17:03:03 +0100 |
commit | 57ffca36a7cdcaf0fa73399dbcb0d8b8f6911cd6 (patch) | |
tree | 374e2d59072662ec74271bb26630ddc4a3f9cb4b | |
parent | 47eedf9228efbf31136a1cc0c2efa747cada596d (diff) | |
download | nextcloud-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>
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')) { |