2025-03-19 08:13:45 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
namespace DoctrineMigrations;
|
|
|
|
|
|
2025-04-22 16:31:22 +02:00
|
|
|
use App\Migration\AbstractMultiPlatformMigration;
|
2025-03-19 08:13:45 +01:00
|
|
|
use Doctrine\DBAL\Schema\Schema;
|
|
|
|
|
|
2025-04-22 16:31:22 +02:00
|
|
|
final class Version20250304154507 extends AbstractMultiPlatformMigration
|
2025-03-19 08:13:45 +01:00
|
|
|
{
|
2025-04-22 16:31:22 +02:00
|
|
|
public function getDescription(): string
|
|
|
|
|
{
|
|
|
|
|
return 'Add built_assembly_id to parts table';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function mySQLUp(Schema $schema): void
|
2025-03-19 08:13:45 +01:00
|
|
|
{
|
2025-06-17 14:02:30 +02:00
|
|
|
$this->addSql(<<<'SQL'
|
2025-07-21 10:04:54 +02:00
|
|
|
ALTER TABLE parts ADD built_assembly_id INT DEFAULT NULL AFTER built_project_id
|
2025-06-17 14:02:30 +02:00
|
|
|
SQL);
|
|
|
|
|
$this->addSql(<<<'SQL'
|
|
|
|
|
ALTER TABLE parts ADD CONSTRAINT FK_6940A7FECC660B3C FOREIGN KEY (built_assembly_id) REFERENCES assemblies (id)
|
|
|
|
|
SQL);
|
|
|
|
|
$this->addSql(<<<'SQL'
|
|
|
|
|
CREATE UNIQUE INDEX UNIQ_6940A7FECC660B3C ON parts (built_assembly_id)
|
|
|
|
|
SQL);
|
2025-10-16 15:24:41 +02:00
|
|
|
|
|
|
|
|
// reverted in Version20251016124311, because built_assembly_id isn't required after testing time
|
2025-03-19 08:13:45 +01:00
|
|
|
}
|
|
|
|
|
|
2025-04-22 16:31:22 +02:00
|
|
|
public function mySQLDown(Schema $schema): void
|
2025-03-19 08:13:45 +01:00
|
|
|
{
|
2025-06-17 14:02:30 +02:00
|
|
|
$this->addSql(<<<'SQL'
|
|
|
|
|
ALTER TABLE parts DROP FOREIGN KEY FK_6940A7FECC660B3C
|
|
|
|
|
SQL);
|
|
|
|
|
$this->addSql(<<<'SQL'
|
|
|
|
|
DROP INDEX UNIQ_6940A7FECC660B3C ON parts
|
|
|
|
|
SQL);
|
|
|
|
|
$this->addSql(<<<'SQL'
|
|
|
|
|
ALTER TABLE `parts` DROP built_assembly_id
|
|
|
|
|
SQL);
|
2025-03-19 08:13:45 +01:00
|
|
|
}
|
2025-04-22 16:31:22 +02:00
|
|
|
|
|
|
|
|
public function sqLiteUp(Schema $schema): void
|
|
|
|
|
{
|
2025-10-16 15:24:41 +02:00
|
|
|
// nothing do to, built_assembly_id not required
|
2025-04-22 16:31:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function sqLiteDown(Schema $schema): void
|
|
|
|
|
{
|
2025-10-16 15:24:41 +02:00
|
|
|
// nothing do to, built_assembly_id not required
|
2025-04-22 16:31:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function postgreSQLUp(Schema $schema): void
|
|
|
|
|
{
|
2025-10-16 15:24:41 +02:00
|
|
|
// nothing do to, built_assembly_id not required
|
2025-04-22 16:31:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function postgreSQLDown(Schema $schema): void
|
|
|
|
|
{
|
2025-10-16 15:24:41 +02:00
|
|
|
// nothing do to, built_assembly_id not required
|
2025-04-22 16:31:22 +02:00
|
|
|
}
|
2025-03-19 08:13:45 +01:00
|
|
|
}
|