addSql('ALTER TABLE travel_mailing_list ADD bus_leg VARCHAR(20) DEFAULT NULL, ADD name VARCHAR(64) DEFAULT NULL'); // Every existing list holds all participants and is named by its travel code alone. $this->addSql('UPDATE travel_mailing_list SET name = travel_code'); $this->addSql('ALTER TABLE travel_mailing_list MODIFY name VARCHAR(64) NOT NULL'); $this->addSql('CREATE UNIQUE INDEX UNIQ_68DC6E285E237E06 ON travel_mailing_list (name)'); $this->addSql('ALTER TABLE travel_mailing_list DROP INDEX UNIQ_68DC6E28BC4DD335, ADD INDEX IDX_68DC6E28BC4DD335 (travel_code)'); } public function down(Schema $schema): void { // Fails while a travel has two lists; delete the bus-only one first. $this->addSql('ALTER TABLE travel_mailing_list DROP INDEX IDX_68DC6E28BC4DD335, ADD UNIQUE INDEX UNIQ_68DC6E28BC4DD335 (travel_code)'); $this->addSql('DROP INDEX UNIQ_68DC6E285E237E06 ON travel_mailing_list'); $this->addSql('ALTER TABLE travel_mailing_list DROP bus_leg, DROP name'); } }