Skip to content

Commit e1b152e

Browse files
committed
Add unique index on revisions of package versions
Signed-off-by: Tim Goudriaan <tim@codedmonkey.com>
1 parent 0954e11 commit e1b152e

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

migrations/Version20260120114538.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ private function createMetadataTables(): void
7373
$this->addSql(<<<'SQL'
7474
CREATE INDEX IDX_4F143414F44CABFF ON metadata (package_id)
7575
SQL);
76+
$this->addSql(<<<'SQL'
77+
CREATE UNIQUE INDEX version_revision_idx ON metadata (version_id, revision)
78+
SQL);
7679
$this->addSql(<<<'SQL'
7780
CREATE TABLE metadata_keyword (
7881
metadata_id INT NOT NULL,
@@ -756,6 +759,9 @@ private function dropCurrentMetadataColumnFromVersionTable(): void
756759

757760
private function dropMetadataTables(): void
758761
{
762+
$this->addSql(<<<'SQL'
763+
DROP INDEX version_revision_idx
764+
SQL);
759765
$this->addSql(<<<'SQL'
760766
ALTER TABLE metadata DROP CONSTRAINT FK_4F1434144BBC2705
761767
SQL);

src/Doctrine/Entity/Metadata.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
#[ORM\Entity(repositoryClass: MetadataRepository::class)]
1414
#[ORM\ChangeTrackingPolicy('DEFERRED_EXPLICIT')]
15+
#[ORM\UniqueConstraint(name: 'version_revision_idx', columns: ['version_id', 'revision'])]
1516
class Metadata extends TrackedEntity
1617
{
1718
#[ORM\Id]

0 commit comments

Comments
 (0)