Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,31 +13,20 @@
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');

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
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 {
Expand Down
6 changes: 6 additions & 0 deletions core/Application.php
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,12 @@ public function __construct() {
'systag_by_objectid',
['objectid']
);

$event->addMissingIndex(
'systemtag_object_mapping',
'systag_objecttype',
['objecttype']
);
});

$eventDispatcher->addListener(AddMissingPrimaryKeyEvent::class, function (AddMissingPrimaryKeyEvent $event) {
Expand Down
2 changes: 2 additions & 0 deletions core/Migrations/Version13000Date20170718121200.php
Original file line number Diff line number Diff line change
Expand Up @@ -732,6 +732,8 @@ public function changeSchema(IOutput $output, \Closure $schemaClosure, array $op
$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')) {
Expand Down
Loading