Skip to content

Commit

Permalink
Avoid name conflicts for API generated teams
Browse files Browse the repository at this point in the history
  • Loading branch information
melegiul committed Aug 16, 2024
1 parent 1e96de7 commit 35ad378
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/Entity/Team.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,15 @@
#[Gedmo\Tree(type: 'nested')]
#[ORM\Entity(repositoryClass: NestedTreeRepository::class)]
#[UniqueEntity('slug')]
#[ORM\UniqueConstraint(name: 'UNQ_team_name_and_immutable', columns: ['name', 'immutable'])]
class Team
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;

#[ORM\Column(type: 'string', length: 255, unique: true)]
#[ORM\Column(type: 'string', length: 255)]
#[Assert\NotBlank]
private $name;

Expand Down
33 changes: 33 additions & 0 deletions src/Migrations/Version20240816105509.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?php

declare(strict_types=1);

namespace DoctrineMigrations;

use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;

/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20240816105509 extends AbstractMigration
{
public function getDescription(): string
{
return 'Avoid name conflicts for API generated teams by modifying the team unique constraint';
}

public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('DROP INDEX UNQ_team_name ON team');
$this->addSql('CREATE UNIQUE INDEX UNQ_team_name_and_immutable ON team (name, immutable)');
}

public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('DROP INDEX UNQ_team_name_and_immutable ON team');
$this->addSql('CREATE UNIQUE INDEX UNQ_team_name ON team (name)');
}
}

0 comments on commit 35ad378

Please sign in to comment.