person: add unique index on table relationship to avoid duplicate fromperson_id/toperson_id pairs

This commit is contained in:
nobohan 2022-04-25 11:23:28 +02:00
parent 63dacb9ebb
commit 111906c2b9

View File

@ -0,0 +1,37 @@
<?php
/**
* Chill is a software for social workers
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Chill\Migrations\Person;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Add constraint with a index on chill_person_relationships.
*/
final class Version20220425000000 extends AbstractMigration
{
public function down(Schema $schema): void
{
$this->addSql('DROP INDEX IDX_RELATIONSHIPS000');
}
public function getDescription(): string
{
return 'Add constraint with a index on chill_person_relationships.';
}
public function up(Schema $schema): void
{
$this->addSql('CREATE UNIQUE INDEX IDX_RELATIONSHIPS000 ON chill_person_relationships (least(fromperson_id, toperson_id), greatest(fromperson_id, toperson_id))');
}
}