<?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 Version20220411144543 extends AbstractMigration
{
public function getDescription(): string
{
return 'TeamName';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->connection->executeQuery('ALTER TABLE equipe_nom ADD team_id INT NOT NULL');
$lastId = 0;
while (true) {
$names = $this->connection->fetchAllAssociative("SELECT idequipeNom, idequipeNom_equipeNom FROM equipe_nom WHERE idequipeNom > {$lastId} LIMIT 1000");
if (empty($names)) {
break;
}
foreach ($names as $name) {
$nameId = $lastId = $name['idequipeNom'];
$teamServiceId = $name['idequipeNom_equipeNom'];
$team = $this->connection->fetchAssociative("SELECT idequipe FROM equipe WHERE idequipeservice_equipe = {$teamServiceId}");
if (!$team) {
dd("TeamName {$nameId} : Team.serviceId {$teamServiceId} not found");
}
$teamId = $team['idequipe'];
$this->connection->executeQuery("UPDATE equipe_nom SET team_id = {$teamId} WHERE idequipeNom = {$nameId}");
}
}
$this->addSql('ALTER TABLE equipe_nom ADD CONSTRAINT FK_5FE4CDECF976DC32 FOREIGN KEY (idsaison_equipeNom) REFERENCES saison (idsaison)');
$this->addSql('ALTER TABLE equipe_nom ADD CONSTRAINT FK_5FE4CDEC296CD8AE FOREIGN KEY (team_id) REFERENCES equipe (idequipe)');
$this->addSql('CREATE INDEX IDX_5FE4CDEC296CD8AE ON equipe_nom (team_id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE equipe_nom DROP FOREIGN KEY FK_5FE4CDECF976DC32');
$this->addSql('ALTER TABLE equipe_nom DROP FOREIGN KEY FK_5FE4CDEC296CD8AE');
$this->addSql('DROP INDEX IDX_5FE4CDEC296CD8AE ON equipe_nom');
$this->addSql('ALTER TABLE equipe_nom DROP team_id');
}
}