From ad472637c2894179f591fb6744ae195baa11d0f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Skowro=C5=84ski?= Date: Sun, 7 Jan 2024 17:39:59 +0100 Subject: [PATCH] Fix issue with cascade delete when user assigned as owner to mod list --- .../doctrine/AbstractBlamableEntity.orm.xml | 4 +- config/doctrine/ModList/ModList.orm.xml | 2 +- migrations/Version20240107163819.php | 89 +++++++++++++++++++ 3 files changed, 92 insertions(+), 3 deletions(-) create mode 100644 migrations/Version20240107163819.php diff --git a/config/doctrine/AbstractBlamableEntity.orm.xml b/config/doctrine/AbstractBlamableEntity.orm.xml index ab89b8d7..b6dcbae4 100644 --- a/config/doctrine/AbstractBlamableEntity.orm.xml +++ b/config/doctrine/AbstractBlamableEntity.orm.xml @@ -6,7 +6,7 @@ - + @@ -14,7 +14,7 @@ - + diff --git a/config/doctrine/ModList/ModList.orm.xml b/config/doctrine/ModList/ModList.orm.xml index be4517b6..62923115 100644 --- a/config/doctrine/ModList/ModList.orm.xml +++ b/config/doctrine/ModList/ModList.orm.xml @@ -51,7 +51,7 @@ - + diff --git a/migrations/Version20240107163819.php b/migrations/Version20240107163819.php new file mode 100644 index 00000000..b1d2158c --- /dev/null +++ b/migrations/Version20240107163819.php @@ -0,0 +1,89 @@ +addSql('ALTER TABLE dlc DROP CONSTRAINT FK_AD6CAEA7DE12AB56'); + $this->addSql('ALTER TABLE dlc DROP CONSTRAINT FK_AD6CAEA7FF8A180B'); + $this->addSql('ALTER TABLE dlc ADD CONSTRAINT FK_AD6CAEA7DE12AB56 FOREIGN KEY (created_by) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE dlc ADD CONSTRAINT FK_AD6CAEA7FF8A180B FOREIGN KEY (last_updated_by) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE mod_groups DROP CONSTRAINT FK_84DA060FDE12AB56'); + $this->addSql('ALTER TABLE mod_groups DROP CONSTRAINT FK_84DA060FFF8A180B'); + $this->addSql('ALTER TABLE mod_groups ADD CONSTRAINT FK_84DA060FDE12AB56 FOREIGN KEY (created_by) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE mod_groups ADD CONSTRAINT FK_84DA060FFF8A180B FOREIGN KEY (last_updated_by) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE mod_lists DROP CONSTRAINT FK_ECB7A26DE12AB56'); + $this->addSql('ALTER TABLE mod_lists DROP CONSTRAINT FK_ECB7A26FF8A180B'); + $this->addSql('ALTER TABLE mod_lists DROP CONSTRAINT FK_ECB7A267E3C61F9'); + $this->addSql('ALTER TABLE mod_lists ADD CONSTRAINT FK_ECB7A26DE12AB56 FOREIGN KEY (created_by) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE mod_lists ADD CONSTRAINT FK_ECB7A26FF8A180B FOREIGN KEY (last_updated_by) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE mod_lists ADD CONSTRAINT FK_ECB7A267E3C61F9 FOREIGN KEY (owner_id) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE mods DROP CONSTRAINT FK_631EF2FADE12AB56'); + $this->addSql('ALTER TABLE mods DROP CONSTRAINT FK_631EF2FAFF8A180B'); + $this->addSql('ALTER TABLE mods ADD CONSTRAINT FK_631EF2FADE12AB56 FOREIGN KEY (created_by) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE mods ADD CONSTRAINT FK_631EF2FAFF8A180B FOREIGN KEY (last_updated_by) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE permissions DROP CONSTRAINT FK_2DEDCC6FDE12AB56'); + $this->addSql('ALTER TABLE permissions DROP CONSTRAINT FK_2DEDCC6FFF8A180B'); + $this->addSql('ALTER TABLE permissions ADD CONSTRAINT FK_2DEDCC6FDE12AB56 FOREIGN KEY (created_by) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE permissions ADD CONSTRAINT FK_2DEDCC6FFF8A180B FOREIGN KEY (last_updated_by) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE user_group DROP CONSTRAINT FK_8F02BF9DDE12AB56'); + $this->addSql('ALTER TABLE user_group DROP CONSTRAINT FK_8F02BF9DFF8A180B'); + $this->addSql('ALTER TABLE user_group ADD CONSTRAINT FK_8F02BF9DDE12AB56 FOREIGN KEY (created_by) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE user_group ADD CONSTRAINT FK_8F02BF9DFF8A180B FOREIGN KEY (last_updated_by) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE users DROP CONSTRAINT FK_1483A5E9DE12AB56'); + $this->addSql('ALTER TABLE users DROP CONSTRAINT FK_1483A5E9FF8A180B'); + $this->addSql('ALTER TABLE users ADD CONSTRAINT FK_1483A5E9DE12AB56 FOREIGN KEY (created_by) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE users ADD CONSTRAINT FK_1483A5E9FF8A180B FOREIGN KEY (last_updated_by) REFERENCES users (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('ALTER TABLE mods DROP CONSTRAINT fk_631ef2fade12ab56'); + $this->addSql('ALTER TABLE mods DROP CONSTRAINT fk_631ef2faff8a180b'); + $this->addSql('ALTER TABLE mods ADD CONSTRAINT fk_631ef2fade12ab56 FOREIGN KEY (created_by) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE mods ADD CONSTRAINT fk_631ef2faff8a180b FOREIGN KEY (last_updated_by) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE mod_groups DROP CONSTRAINT fk_84da060fde12ab56'); + $this->addSql('ALTER TABLE mod_groups DROP CONSTRAINT fk_84da060fff8a180b'); + $this->addSql('ALTER TABLE mod_groups ADD CONSTRAINT fk_84da060fde12ab56 FOREIGN KEY (created_by) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE mod_groups ADD CONSTRAINT fk_84da060fff8a180b FOREIGN KEY (last_updated_by) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE users DROP CONSTRAINT fk_1483a5e9de12ab56'); + $this->addSql('ALTER TABLE users DROP CONSTRAINT fk_1483a5e9ff8a180b'); + $this->addSql('ALTER TABLE users ADD CONSTRAINT fk_1483a5e9de12ab56 FOREIGN KEY (created_by) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE users ADD CONSTRAINT fk_1483a5e9ff8a180b FOREIGN KEY (last_updated_by) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE user_group DROP CONSTRAINT fk_8f02bf9dde12ab56'); + $this->addSql('ALTER TABLE user_group DROP CONSTRAINT fk_8f02bf9dff8a180b'); + $this->addSql('ALTER TABLE user_group ADD CONSTRAINT fk_8f02bf9dde12ab56 FOREIGN KEY (created_by) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE user_group ADD CONSTRAINT fk_8f02bf9dff8a180b FOREIGN KEY (last_updated_by) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE permissions DROP CONSTRAINT fk_2dedcc6fde12ab56'); + $this->addSql('ALTER TABLE permissions DROP CONSTRAINT fk_2dedcc6fff8a180b'); + $this->addSql('ALTER TABLE permissions ADD CONSTRAINT fk_2dedcc6fde12ab56 FOREIGN KEY (created_by) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE permissions ADD CONSTRAINT fk_2dedcc6fff8a180b FOREIGN KEY (last_updated_by) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE dlc DROP CONSTRAINT fk_ad6caea7de12ab56'); + $this->addSql('ALTER TABLE dlc DROP CONSTRAINT fk_ad6caea7ff8a180b'); + $this->addSql('ALTER TABLE dlc ADD CONSTRAINT fk_ad6caea7de12ab56 FOREIGN KEY (created_by) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE dlc ADD CONSTRAINT fk_ad6caea7ff8a180b FOREIGN KEY (last_updated_by) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE mod_lists DROP CONSTRAINT fk_ecb7a26de12ab56'); + $this->addSql('ALTER TABLE mod_lists DROP CONSTRAINT fk_ecb7a26ff8a180b'); + $this->addSql('ALTER TABLE mod_lists DROP CONSTRAINT fk_ecb7a267e3c61f9'); + $this->addSql('ALTER TABLE mod_lists ADD CONSTRAINT fk_ecb7a26de12ab56 FOREIGN KEY (created_by) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE mod_lists ADD CONSTRAINT fk_ecb7a26ff8a180b FOREIGN KEY (last_updated_by) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE mod_lists ADD CONSTRAINT fk_ecb7a267e3c61f9 FOREIGN KEY (owner_id) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + } +}