<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20260223075506 extends AbstractMigration
{
public function getDescription(): string
{
return 'Add giftlist admins many-to-many relation';
}
public function up(Schema $schema): void
{
$this->addSql('
CREATE TABLE giftlist_admins (
giftlist_id INT NOT NULL,
user_id INT NOT NULL,
INDEX IDX_F58AE0B2983BB35C (giftlist_id),
INDEX IDX_F58AE0B2A76ED395 (user_id),
PRIMARY KEY(giftlist_id, user_id)
) DEFAULT CHARACTER SET utf8mb4
COLLATE `utf8mb4_unicode_ci`
ENGINE = InnoDB
');
$this->addSql('
ALTER TABLE giftlist_admins
ADD CONSTRAINT FK_F58AE0B2983BB35C
FOREIGN KEY (giftlist_id)
REFERENCES giftlist (id)
ON DELETE CASCADE
');
$this->addSql('
ALTER TABLE giftlist_admins
ADD CONSTRAINT FK_F58AE0B2A76ED395
FOREIGN KEY (user_id)
REFERENCES user (id)
ON DELETE CASCADE
');
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE giftlist_admins DROP FOREIGN KEY FK_F58AE0B2983BB35C');
$this->addSql('ALTER TABLE giftlist_admins DROP FOREIGN KEY FK_F58AE0B2A76ED395');
$this->addSql('DROP TABLE giftlist_admins');
}
}