mirror of
https://github.com/nextcloud/server.git
synced 2026-03-27 04:43:20 -04:00
fix(systemtags): objecttype index registration
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
This commit is contained in:
parent
47eedf9228
commit
57ffca36a7
4 changed files with 10 additions and 13 deletions
|
|
@ -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');
|
||||
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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')) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue