addSql('ALTER TABLE task_occurrence DROP FOREIGN KEY FK_A2EECA5C8DB60186'); // 2. Drop FK on task.category_id $this->addSql('ALTER TABLE task DROP FOREIGN KEY FK_527EDB2512469DE2'); // 3. Rename tables $this->addSql('RENAME TABLE task TO task_schema'); $this->addSql('RENAME TABLE task_occurrence TO task'); // 4. Re-create FK: task.task_id → task_schema.id $this->addSql('ALTER TABLE task ADD CONSTRAINT FK_527EDB258DB60186 FOREIGN KEY (task_id) REFERENCES task_schema (id) ON DELETE CASCADE'); // 5. Re-create FK: task_schema.category_id → category.id $this->addSql('ALTER TABLE task_schema ADD CONSTRAINT FK_8327C58112469DE2 FOREIGN KEY (category_id) REFERENCES category (id) ON DELETE SET NULL'); } public function down(Schema $schema): void { // Drop FKs $this->addSql('ALTER TABLE task DROP FOREIGN KEY FK_527EDB258DB60186'); $this->addSql('ALTER TABLE task_schema DROP FOREIGN KEY FK_8327C58112469DE2'); // Rename back $this->addSql('RENAME TABLE task TO task_occurrence'); $this->addSql('RENAME TABLE task_schema TO task'); // Re-create original FKs $this->addSql('ALTER TABLE task_occurrence ADD CONSTRAINT FK_A2EECA5C8DB60186 FOREIGN KEY (task_id) REFERENCES task (id) ON DELETE CASCADE'); $this->addSql('ALTER TABLE task ADD CONSTRAINT FK_527EDB2512469DE2 FOREIGN KEY (category_id) REFERENCES category (id) ON DELETE SET NULL'); } }