Skip to content

Commit d882386

Browse files
committed
Message: Adapt message_receiver index to the new structure to include one more field to avoid errors - refs BT#21941
1 parent 2e6c00f commit d882386

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

src/CoreBundle/Entity/MessageRelUser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
errorPath: 'message'
3232
)]
3333
#[ORM\Table(name: 'message_rel_user')]
34-
#[ORM\UniqueConstraint(name: 'message_receiver', columns: ['message_id', 'user_id'])]
34+
#[ORM\UniqueConstraint(name: 'message_receiver', columns: ['message_id', 'user_id', 'receiver_type'])]
3535
#[ORM\Entity]
3636
#[ORM\EntityListeners([MessageStatusListener::class])]
3737
#[ApiFilter(
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
/* For licensing terms, see /license.txt */
6+
7+
namespace Chamilo\CoreBundle\Migrations\Schema\V200;
8+
9+
use Chamilo\CoreBundle\Migrations\AbstractMigrationChamilo;
10+
use Doctrine\DBAL\Schema\Schema;
11+
12+
class Version20240819120200 extends AbstractMigrationChamilo
13+
{
14+
public function getDescription(): string
15+
{
16+
return 'Fix message_receiver index on message_rel_user';
17+
}
18+
19+
public function up(Schema $schema): void
20+
{
21+
$table = $schema->getTable('message_rel_user');
22+
if ($table->hasIndex('message_receiver')) {
23+
$this->addSql('ALTER TABLE message_rel_user DROP INDEX message_receiver');
24+
}
25+
$this->addSql('ALTER TABLE message_rel_user ADD UNIQUE INDEX message_receiver (message_id, user_id, receiver_type)');
26+
}
27+
public function down(Schema $schema): void
28+
{
29+
$table = $schema->getTable('message_rel_user');
30+
if ($table->hasIndex('message_receiver')) {
31+
$this->addSql('ALTER TABLE message_rel_user DROP INDEX message_receiver');
32+
}
33+
$this->addSql('ALTER TABLE message_rel_user ADD UNIQUE INDEX message_receiver (message_id, user_id)');
34+
35+
}
36+
}

0 commit comments

Comments
 (0)