diff --git a/migrations/Version20260524121119.php b/migrations/Version20260524121119.php new file mode 100644 index 0000000..aacbd52 --- /dev/null +++ b/migrations/Version20260524121119.php @@ -0,0 +1,30 @@ +addSql('DROP INDEX uniq_ced2ffa291bd8781853cd175'); + $this->addSql('CREATE UNIQUE INDEX UNIQ_CED2FFA291BD8781853CD175 ON quiz_candidate (candidate_id, quiz_id) WHERE deleted_at IS NULL'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('DROP INDEX UNIQ_CED2FFA291BD8781853CD175'); + $this->addSql('CREATE UNIQUE INDEX uniq_ced2ffa291bd8781853cd175 ON quiz_candidate (candidate_id, quiz_id)'); + } +} diff --git a/src/Entity/QuizCandidate.php b/src/Entity/QuizCandidate.php index 652dcfb..bb5b98f 100644 --- a/src/Entity/QuizCandidate.php +++ b/src/Entity/QuizCandidate.php @@ -14,7 +14,7 @@ use Tvdt\Repository\QuizCandidateRepository; #[Gedmo\SoftDeleteable] #[ORM\Entity(repositoryClass: QuizCandidateRepository::class)] -#[ORM\UniqueConstraint(columns: ['candidate_id', 'quiz_id'])] +#[ORM\UniqueConstraint(columns: ['candidate_id', 'quiz_id'], options: ['where' => 'deleted_at IS NULL'])] class QuizCandidate { use SoftDeleteableEntity;