Fix columns order in unique_short_code_plus_domain index in MSSQL

This commit is contained in:
Alejandro Celaya
2024-11-25 22:48:04 +01:00
parent 4e8f3f737a
commit 33cea36b15
2 changed files with 45 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
<?php
declare(strict_types=1);
namespace ShlinkMigrations;
use Doctrine\DBAL\Platforms\SQLServerPlatform;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20241125213106 extends AbstractMigration
{
public function up(Schema $schema): void
{
$this->skipIf(! $this->isMsSql());
// Recreate unique_short_code_plus_domain index in Microsoft SQL, as it accidentally has the columns defined in
// the wrong order after Version20230130090946 migration
$shortUrls = $schema->getTable('short_urls');
$shortUrls->dropIndex('unique_short_code_plus_domain');
$shortUrls->addUniqueIndex(['short_code', 'domain_id'], 'unique_short_code_plus_domain');
}
private function isMsSql(): bool
{
return $this->connection->getDatabasePlatform() instanceof SQLServerPlatform;
}
}